PSEXEC 传递命令和使用 IF 循环

PSEXEC Passing commands and using IF loop

当我 运行 我的批处理文件通过一大堆 IP 并获取一些信息(如果可以连接到远程 cmd)时,它不起作用。

如果无法连接,echo 不起作用,如果连接成功,它会打开远程命令 shell 并且在我退出返回本地命令之前不执行任何操作 shell.

cd \pstools

psexec.exe @C:\users\chargraves\desktop\inv.txt cmd /c

if errorlevel 0 (
wmic csproduct get version >> \path\results.txt &
)

if errorlevel 1(
echo "Not accessible"
)

我也开始尝试powershell。但是一旦它进入远程命令 shell,它就会挂起。 IT 没有输入 wmic 代码..."

$computers = Get-Content C:\users\chargraves\Desktop\inv.txt    
foreach ($computer in $computers) {
        & "c:\pstools\psexec.exe" \$computer "cmd"
        & "wmic csproduct get version >> \share\results.txt"
    }

试试这个代码

cd \pstools

psexec.exe @C:\users\chargraves\desktop\inv.txt cmd /c

if %errorlevel%==1 goto fail

REM if errorlevel is 0 then it executes these lines
wmic csproduct get version >> \path\results.txt

:fail
REM if errorlevel is 1 then it executes the lines bellow
echo "Not Accesible"
ping localhost -n 2 >nul

我能够使它成功运行并且简单得多。谢谢。

第 1 批

cd \pstools
psexec.exe @iplist.txt -c batch2.bat

第 2 批

wmic command 1 >> results.txt
wmic command 2 >> results.txt
wmic command 3 >> results.txt