我正在尝试从 psexec 捕获远程进程的输出(即不是psexec 自己的输出)。因此,例如,我可以运行“ipconfig”并将输出打印到日志文件中。
我努力了:
psexec \\myserver ipconfig > output.log
psexec \\myserver ipconfig >> output.log
psexec \\myserver ipconfig 2> output.log
psexec \\myserver ipconfig > output.log 2>&1
最后一个只是给出 psexec 输出。
我不确定所有这些之间有什么区别,但我在其他地方寻找答案时已经看到了它们的建议。
谁能给我一个示例命令行,它将 ipconfig 的输出捕获到文件中?
编辑1:我希望将日志文件保存在本地机器上,而不是远程机器上。
编辑2:
这是我从运行“psexec \\myserver ipconfig”得到的:
C:\TempDll>psexec \\myserver ipconfig PsExec v1.95 - 远程执行进程 版权所有 (C) 2001-2009 Mark Russinovich Sysinternals - www.sysinternals.com ipconfig 在 myserver 上退出,错误代码为 0。 C:\TempDll>
可能是 v1.95 中 PsExec 中的一个错误?
我有 v1.94 并且输出很好,但我刚刚下载了最新的副本并遇到了和你一样的问题。
编辑:
我的公共 SkyDrive 上的 PsExec
希望这可以帮助某人。我能够在 Windows 10 和远程 Windows 10 实例上使用以下命令运行 PSExec。
命令
请注意要将文件 output.log 保存在哪个文件夹中。
psexec ... > output.log 将覆盖文件 output.log 以防它存在。
psexec ... >> output.log 将在最后附加输出。
您还可以运行psexec \\serverIP cmd,更改远程计算机上的目录并简单地运行ipconfig > output.log
我发现的唯一方法是创建一个快速 bat 脚本:
或替换
%2
为您想要的命令/参数。使用远程 psexec 运行
如果要在远程计算机上本地保存输出。您可以使用以下命令。psexec \myserver cmd /c "ipconfig >output.log"
如果要将输出从远程机器重定向到托管机器。您可以使用以下命令 psexec \myserver cmd /c "ipconfig>\localmachine\location\output.log"
我遇到了同样的问题,不得不告诉 PSEXEC 在远程机器上以管理员用户身份运行:
唯一需要使用 PSExec 指定用户名和密码的情况是您需要从网络共享中提取数据。不过我强烈建议不要这样做,因为密码是以明文形式发送的,这意味着任何收听流量的人现在都拥有您的用户名和密码。
我发现使用 FQDN 作为服务器名解决了我的问题。