Psexec - 远程运行命令并将输出保存到本地文件

时间:2016-02-14 20:10:00

标签: batch-file psexec

我尝试使用psexec远程运行多个命令。

我从本地计算机启动psexec,然后指定要连接的远程计算机。 我想将远程命令的输出存储在启动了psexec命令的本地PC上。

如果使用">"或">>"该文件是在远程PC上创建的,而不是在我的本地PC上创建的。

以下是我使用的代码:

cmd /c "c:\windows\system32\psexec.exe" \\192.168.0.2 -accepteula -u test -p test -s cmd /k (date /t) ^& (time /t) ^& (hostname) ^& (wmic csproduct get name, identifyingnumber) ^& (net statistics workstation) ^& (wmic LOGICALDISK LIST BRIEF) ^& (echo.) ^& (net use) ^& (tasklist)'+' ^& (echo.) ^& (echo. LISTARE CONTINUT FISIER HOSTS:) ^& (type c:\windows\system32\drivers\etc\hosts)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

这就是PSExec在另一台计算机上的工作原理。 WMIC可以自己做你想做的事。

wmic /node:127.0.0.1 process get /format:list

wmic /node:@C:\folder\computerlist.txt process get /format:list

computerlist.txt看起来像这样

127.0.0.1
MyComputerName
168.0.0.1

所以你可以混合匹配名称或IP地址。

wmic /node:127.0.0.1 /output:C:\folder\output.txt process get /format:list

尽管wmic确实进行了重定向。使用Append代替output进行追加。

请参阅wmic /?wmic /output /?wmic /format /?

此外,wmic可以运行其他计算机上不可见的程序。

wmic /node:127.0.0.1 process call create notepad.exe

因为127.0.0.1是本地地址,您会看到记事本,但却无法在远程计算机上看到它。见wmic process call create /?

答案 1 :(得分:0)

我编写了一个执行psexec多个实例并在本地保存输出的异步作业,请参阅Executing a batch file in a remote machine through PsExec了解详细信息