powershell脚本的数据结构

时间:2010-07-29 03:06:34

标签: powershell powershell-v2.0

我正在尝试编写一个powershell脚本,它将接收一个文本文件(或xml文件或我想要的任何内容),并在该服务器上停止使用servername和某些服务名称列表。我可以让powershell从文本文件中读取一行,但是我无法弄清楚如何让powershell将数据导入单独的变量,以便传递给其他函数。如果这是arguemnts它似乎微不足道,但必须有一个简单的方法来做到这一点,而不是我在每一行使用正则表达式。

1 个答案:

答案 0 :(得分:6)

考虑下面的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脚本,您可以使用Invoke-Script cmdlet(需要启用PSRemoting),或者PsExec或WMI,无论您最熟悉哪个。将需要$server$process个变量来对正确服务器上的正确进程执行kill。