由于PowerShell和C#都是基于.NET的,是以也不需要膠水把這兩種語言粘合到一起。可以充分的利用兩者各自的優點,結合到一起!(PowerShell在遠端管理server這方面是很擅長的。)
于是我修改了之前的工具UI界面,多出了兩個textbox,分别用來選擇server配置檔案(需要關閉的除主要端的server的相關資訊都記錄在該配置檔案中)和PowerShell腳本檔案(主要負責遠端方面的操作):

server配置檔案格式如下,一行對應一台server,每一行中的server ip、使用者名、密碼用空格隔開:
選用的PowerShell腳本檔案代碼如下:
Winform程式在主要端結束程序檢查後,會先關閉server配置檔案中的servers,然後關閉主要端server(本機)。
代碼如下(粉色部分為新加的和遠端相關的主要内容):
上面這段代碼就是在C#中調用PowerShell腳本的關鍵。想要在C#中引用PowerShell需要事先add reference:
找到這個reference最快捷的方式就是在PowerShell中輸入<code>[psobject]</code><code>.Assembly.Location</code>:
然後在代碼裡using相應的命名空間就可以了:
親測通過後獲得了相關部門上司贈送的可愛多一個。