【问题标题】:Powershell and PSExecPowershell 和 PSExec
【发布时间】:2015-06-18 16:33:19
【问题描述】:

我发现我在工作中一直在使用 psexec 来远程进行批量更改。当我在 powershell 中运行 PSEXEC 时,我在连接到的每台计算机上都会收到以下消息:

代码:

foreach($computer in $computers) {
        psexec -i \\$computer net localgroup "Administrators" "ITLOCALADMIN" /add
}

结果如下:

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
System error 1378 has occurred.
The specified account name is already a member of the group.
Connecting to {COMPNAME}...Starting PSEXESVC service on {COMPNAME}...Connecting with PsExec service on {COMPNAME}...Starting net on {COMPNAME}...
net exited on {COMPNAME}with error code 2.
psexec : 
At G:\Users\ariggs\Documents\WindowsPowerShell\Scripts\AddItlocaladmin.ps1:3 char:9
+         psexec \\$computer net localgroup "Administrators" "ITLOCALAD ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

如果我只看到命令的输出或错误,是否可以关闭这些消息?这使得很难看出是否存在问题,或者它是否与所有这些文本一起工作。

【问题讨论】:

  • 这是在 PSEXEC 中,至于关闭它我不确定,但你不能从 powershell 做所有事情,那样会摆脱消息。
  • 推荐使用 PowerShell 远程处理而不是 PSExec,就像 Luke 建议的那样。
  • @Luke 我的公司关闭了 powershell 遥控器。我向他们提出了这个问题,他们认为这是一种风险。
  • @alexander7567 你的处境并不令人羡慕,但事实是他们站在了历史的错误一边。 PowerShell 远程处理/WinRM 就在其中。至于你的实际问题,我不知道你是怎么调用psexec的,但是尝试在命令行中添加-i
  • @briantist 我用我的代码更新了原始帖子。我尝试添加-i,并得到相同的结果。就 WinRM 而言,我完全同意,但我无法让他们同意。我在为 SCCM 付费的公司工作了 2 年,但仍然无法让它工作:)

标签: powershell psexec


【解决方案1】:

好吧,我想出了一个答案,所以你要做的是在末尾添加一个空输出,这样你的代码行就会像这样,

psexec -i \\$Computer net localgroup "Administrators" "ITLOCALADMIN" /add > $null 2>&1

现在这会将所有输出重定向,现在您还需要添加某种日志记录,因此我建议将其放入 Try、Catch 或只是在您的 foreach 末尾添加一行将写入你说电脑搞定了,

Write-host "Computer $Computer is now done" 

现在你需要对你的脚本更有信心,但这是一种选择。

【讨论】:

  • 这看起来不错,但它仍然显示实际 net 命令的输出
  • 这不是你需要添加自己的原因。
  • @alexander7567 这是否解决了您的问题?
  • 不,它没有。就像我说的,我无法知道命令是否失败。这就是我希望所有其他文本消失的原因,以便我可以查看该命令是否在所有垃圾之间吐出任何错误。
  • 您可以获取它返回的完成代码并制作您自己的输出,如果错误代码为 1 则失败,如果为 0 则成功。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
  • 2014-04-23
相关资源
最近更新 更多