powershell脚本的数据结构

Jim*_*m B 3 powershell powershell-2.0

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

kbr*_*ton 6

考虑下面的XML:

$xml = [xml]@"
<Servers>
    <Server name="SERVER1">
        <Process>Process1</Process>
        <Process>Process2</Process>
    </Server>
    <Server name="SERVER2">
        <Process>Process3</Process>
    </Server>
</Servers>
"@
Run Code Online (Sandbox Code Playgroud)

您可以$xml像这样处理变量:

foreach ($server in $xml.Servers.Server) {
    foreach ($process in $server.Process) {

        # Execute your kill script here.

    }
}
Run Code Online (Sandbox Code Playgroud)

对于远程计算机上的kill脚本,您可以使用Invoke-Script cmdlet(需要启用PSRemoting),或PsExec或WMI,无论您最熟悉哪个.该$server$process变量将被要求到正确的服务器上对正确的流程执行kill.