2014-04-18 97 views
1

我正在尋找稱爲殺死多個遠程計算機上的進程(例如name.exe)的標題。我可以單獨使用pskill或taskkill使用(例如): pskill -t \ -u -p name.exe 但這對於50多臺機器來說變得不切實際。殺死多個遠程計算機上的進程

有沒有辦法讓它讀取IP地址的文本文件,如psexec使用@C:\ name.txt或者在PowerShell或類似的東西?

所有設備都在同一個域中。 非常感謝您的幫助。

回答

3

如果你有一個機器列表的文本文件,你可以用做平凡:

get-content serverlist.txt | Foreach-object {& pskill -t \\$_ -u -p name.exe} 
+0

這會以明文形式發送密碼嗎?如果是的話,我將如何使用此命令來加密密碼,以確保任何人都無法窺探到流量? – thepiman

1

有許多方法來做到這一點在PowerShell中像WMI,調用命令等 這裏是一個例如使用WMI:

$cred = get-credential 

它將彈出Credential。這樣您可以確保憑證在腳本中不可見。

(Get-Content 'c:\Temp\Computers.txt') | ForEach-Object { 
      Get-WmiObject -computer $_ -class win32_process -filter "name = 'name.exe'" -credential $cred| %{$_.terminate()} | out-null 
     }