3
我想寫一個PowerShell腳本,將採取一個文本文件(或xml文件或任何我想ti是)與服務器名稱列表和服務器上的一些服務名稱停止。我可以讓PowerShell從文本文件中讀取一行,但我無法弄清楚如何讓PowerShell將數據導入到單獨的變量中,以便傳遞給其他函數。如果這是爭論似乎微不足道,但必須有一個簡單的方法來做到這一點,而不是我在每一行上使用正則表達式。PowerShell腳本的數據結構
我想寫一個PowerShell腳本,將採取一個文本文件(或xml文件或任何我想ti是)與服務器名稱列表和服務器上的一些服務名稱停止。我可以讓PowerShell從文本文件中讀取一行,但我無法弄清楚如何讓PowerShell將數據導入到單獨的變量中,以便傳遞給其他函數。如果這是爭論似乎微不足道,但必須有一個簡單的方法來做到這一點,而不是我在每一行上使用正則表達式。PowerShell腳本的數據結構
考慮下面的XML:
$xml = [xml]@"
<Servers>
<Server name="SERVER1">
<Process>Process1</Process>
<Process>Process2</Process>
</Server>
<Server name="SERVER2">
<Process>Process3</Process>
</Server>
</Servers>
"@
你可以處理$xml
變量,像這樣:
foreach ($server in $xml.Servers.Server) {
foreach ($process in $server.Process) {
# Execute your kill script here.
}
}
對於在遠程機器上一個kill腳本,您可以使用調用腳本cmdlet的(需要PSRemoting被啓用),或PsExec或WMI,無論你最喜歡哪一個。將需要$server
和$process
變量來針對正確的服務器上的正確過程執行kill。