PSexec版权输出

时间:2015-05-12 13:56:35

标签: powershell psexec sysinternals

有谁知道,如何禁用"版权标题"从运行PSExec时出现? Everutime我跑了#34; ./ psexec ..."命令我看到这条消息:

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

它真的很烦人,它使我的脚本输出膨胀。

谢谢你 马修

5 个答案:

答案 0 :(得分:9)

似乎没有办法禁止它发生,但作为一种解决方法,您可以重定向STDERR,这将抑制输出,

psexec \\remotemachine command 2>nul

答案 1 :(得分:6)

PsExec v2.2带有-nobanner选项。

答案 2 :(得分:3)

或者你能做得更好

sum

答案 3 :(得分:3)

我知道这是一个相当古老的问题,但由于它已被标记为PowerShell而且还没有PowerShell具体回复,所以请点击:

我希望在远程计算机上获取环境变量%SystemRoot%的值,而不启用WinRM
我在PowerShell的调用是:
$ret = & PsExec.exe \\RemoteMachine powershell.exe -Command '$env:SYSTEMROOT'

这返回了一个类型Object[]的数组,每行输出一个元素。 示例输出,带有相应的数组索引:

PS> $ret
(0)
(1) PsExec v2.2 - Execute processes remotely
(2) Copyright (C) 2001-2016 Mark Russinovich
(3) Sysinternals - www.sysinternals.com
(4)
(5) C:\WINDOWS

正如您所看到的,我所需的输出是返回数组中的第6个值。

这也适用于输出多行的PowerShell脚本或命令,因为每个打印行都作为新元素附加到数组中。

考虑到这一点,我们可以用以下内容整理我们返回的输出:
$ret = $ret[5..($ret.Count - 1)]

这基本上只删除了前五个元素。

我没有使用PowerShell以外的程序测试此解决方案,因此请谨慎使用。

答案 4 :(得分:1)

你有没有试过这个:

psexec.exe -nobanner -accepteula