我使用psexec自动运行
get.bat
任务列表| findstr pmill.exe>> dc-01 \ c $ \ 0001.txt
run_get.bat
psexec @%1 -u administrator -p password -c“C:\ get.bat”
pclist.txt
在我们网络上的所有PC上,
如何在文本文件中使用PC名称而不是仅仅pmill.exe获取结果? 无论如何,我能从powershell做到吗? 我需要在结果中获取pc名称。 提示plz!
答案 0 :(得分:2)
代替psexec,试试这个:
@echo off
setlocal enabledelayedexpansion
for /f %%I in (pclist.txt) do (
set /p q="Checking %%I... "<NUL
ping -n 1 -w 500 %%I>NUL 2>NUL
if !errorlevel!==1 (
echo Offline.
) else (
wmic /node:%%I /user:adminuser /password:pass process where name="pmill.exe" get csname 2>NUL | find /i "%%I" >>dc-01\c$\0001.txt
echo Done.
)
)
如果pmill.exe正在运行,则输出%computername%
,否则输出
修改强>
如果您必须使用psexec
,我建议您更改调用for
的{{1}}循环的逻辑,如下所示:
psexec