天天看點

多程序監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

由于PowerShell和C#都是基于.NET的,是以也不需要膠水把這兩種語言粘合到一起。可以充分的利用兩者各自的優點,結合到一起!(PowerShell在遠端管理server這方面是很擅長的。)

于是我修改了之前的工具UI界面,多出了兩個textbox,分别用來選擇server配置檔案(需要關閉的除主要端的server的相關資訊都記錄在該配置檔案中)和PowerShell腳本檔案(主要負責遠端方面的操作):

多程式監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

server配置檔案格式如下,一行對應一台server,每一行中的server ip、使用者名、密碼用空格隔開:

多程式監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

選用的PowerShell腳本檔案代碼如下:

Winform程式在主要端結束程序檢查後,會先關閉server配置檔案中的servers,然後關閉主要端server(本機)。

代碼如下(粉色部分為新加的和遠端相關的主要内容):

上面這段代碼就是在C#中調用PowerShell腳本的關鍵。想要在C#中引用PowerShell需要事先add reference:

多程式監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

找到這個reference最快捷的方式就是在PowerShell中輸入<code>[psobject]</code><code>.Assembly.Location</code>:

多程式監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

然後在代碼裡using相應的命名空間就可以了:

多程式監控自動關機工具更新遠端關閉多台server——C# works with PowerShell

親測通過後獲得了相關部門上司贈送的可愛多一個。