从另一台远程计算机ping远程计算机并返回结果

时间:2013-08-28 21:28:44

标签: windows networking batch-file

我正在尝试使批处理脚本工作,我得到运行我的脚本的计算机A,让计算机B ping计算机C并返回我可以输出的错误级别。 目前我正试图通过使用PSEXEC访问计算机B上的命令行并使其ping到C来实现这一点。当然问题是,由于命令在B上成功执行,因此errorlevel总是返回为“0”但是我需要的是C的结果。

SET /P ALTTERM=Please specify another terminal to test from [0**]?
ECHO.
ECHO Running internal ping test from terminal %ALTTERM%...
PSEXEC \\%HOSTNAME%-%ALTTERM% PING %HOSTNAME%-%TERMINAL%
IF ERRORLEVEL 0 SET INTERNALPING=PASS 
IF ERRORLEVEL 1 SET INTERNALPING=FAIL
ECHO.
ECHO Internal ping test %INTERNALPING%

脚本中先前设置的主机名和终端的详细信息。 脚本不显示工作仅显示回显线和结果也很重要。我用过

  

/ f> nul 2>& 1

脚本中的其他地方抑制输出

1 个答案:

答案 0 :(得分:0)

根据Windows IT Pro(在Microsoft TechNet中提到):

  

PsExec显示进程的退出代码并返回退出代码   它自己的退出代码。

所以,你的批次应该可以工作。

ECHO ErrorLevel=%ERRORLEVEL%之后加PSEXEC ...只是为了确保。

要禁用输出,请将>NUL 2>NUL>NUL 2>&1附加到PSEXEC ...命令行。你没有使用/f(你从哪里得到它?)