powershell脚本的数据结构

发布于 2024-09-11 17:14:21 字数 212 浏览 4 评论 0原文

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

I am trying to write a powershell script that will take in a text file (or xml file or whatever I want ti to be) with a list of servername and some service names on that server to stop. I can get powershell to read in a line from a text file, but I can't figure out how to get powershell to import the data into seperate variable for me to pass on to other functions. if this were arguemnts it seems trivial but there must be a simple way to do that rather than me using a regex on each line.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一人独醉 2024-09-18 17:14:21

考虑下面的 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.

    }
}

对于远程计算机上的终止脚本,您可以使用 Invoke-Script cmdlet(需要启用 PSRemoting)、PsExec 或 WMI ,无论您觉得最舒服。需要 $server$process 变量来针对正确服务器上的正确进程执行终止操作。

Consider the XML below:

$xml = [xml]@"
<Servers>
    <Server name="SERVER1">
        <Process>Process1</Process>
        <Process>Process2</Process>
    </Server>
    <Server name="SERVER2">
        <Process>Process3</Process>
    </Server>
</Servers>
"@

You could process the $xml variable like so:

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

        # Execute your kill script here.

    }
}

For a kill script on remote machines, you could use the Invoke-Script cmdlet (requires PSRemoting be enabled), or PsExec, or WMI, whichever you're most comfortable with. The $server and $process variables will be required to execute the kill against the correct process on the correct server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文