在應用程序中使用Runspace 1

 

或許你也已經察覺,使用Windows PowerShell 來完成你的管理任務,她方便,高效,優雅而靈活。

當然作爲一個運維人員來說,Windows PowerShell 就是堪比人類歷史上最偉大的發明---空調 之後最偉大的發明 沒有之一,同樣作爲一個運維,開發界限模糊的IT時代,PowerShell 作爲一個 跨平臺的管理工具,尤其在Windows 平臺 光芒無限,在面臨組織內自定義應用程序時候通過有效的訪問手段,開發人員依然可以依靠這一強大的平臺進行快速的構建應用程序,當然作爲管理,運維人員適當的學習開發基礎知識更有利於工作的開展,同樣我們今天討論的內容雖然是面向開發者,但管理人員依然適用因爲他們會再一次提升你的IT結構的自動化水平,進一步的提升你的工作效率。

下面我們將不再廢話 直接進入正題

我們不妨先從運維人員的日常工作開始看看 我們應該如何實現在應用程序中使用PowerShell

首先運維人員要開打PowerShell 無非使用console 或者ISE 或者是PowerShell Studio 要麼

使用PSWA (PowerShell Web Access)

在這裏 我們就已經發現了第一個問題 我們每次打開的Console 或者ISE 都稱爲一個會話 由於我們應用程序中並沒有這個“會話”所以 要在用用程序中使用 PowerShell 我們就需要這麼一個“會話”

也許你覺得這“會話”有點困難,要像使用Bat 那樣的複雜,更多的不可控,因爲我們總是希望代碼儘可能的精簡,儘可能強壯,我有個好消息,使用並不複雜, 也非常可控就像你使用其他技術一樣的容易。

So 我們要準備一下如何去使用 “會話”當然 我們會用C#作爲示例其他的語言在使用方式一樣 請根據自己使用的語法進行相應修改。

如果你只想簡單使用這個“會話”那麼只要創建控制檯應用程序就可以開始愉快的使用了

創建好項目後請添加 對如下的Namespace 的引用

System.Management.Automation

System.Management.Automation.Runspaces

System.Collections.ObjectModel

當然這些 都已在GAC中你不需要額外的去安裝什麼.

如果想快速使用powershell 引擎中的命令那麼 使用 RunspaceInvoke 是最簡單的方式它已經

爲我們封裝好了Runspcae Pipline 爲我們省去很多手動創建的事情,當然如果你只是簡單的使用那麼

已經足夠,這樣的代價就是犧牲了引擎中的其他API 和更多的管道以及Runspace的功能

就像下圖一樣 我們就可以簡單的在一個控制檯程序中使用PowerShell了

clip_p_w_picpath001

也許你會問我管道是什麼 至少現在來說我們還暫時不需要知道這個東西。我們會在後面去介紹這個

RunspaceInvoke 類的構造函數有三個重載 你可以從一個已有的Runspace或者一個現有runspaceConfiguration 實例即運行空間配置文件(我們會在後面詳細介紹這個) 或者是一個控制檯配置文件來創建對用的RunspaceInvoke 實例 一旦我們創建了RunspaceInvoke 我們就可以使用Invoke()方法在控制命令運行 。

clip_p_w_picpath002

此後我們像上圖一樣獲取其運行返回,

clip_p_w_picpath004

如果你只是想簡單的讓結果輸出在屏幕上那麼將是非常簡單的事情

clip_p_w_picpath005

後面的文章我們講繼續深入討論這些

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章