我正在创建一个批处理文件,该文件将重新启动远程计算机,然后在计算机重新启动后重新登录。我有一切工作,除了错误处理。我只需要检查我的关机是成功还是失败。
以下是我需要帮助的代码部分:
@echo off
set /p Computer=Restart which computer?
shutdown -r -m %Computer% -f -t 0
我需要检测最后一行是否成功执行。非常感谢任何帮助。
谢谢!
编辑:
问题解决了。最终代码如下。
@echo off
set DateTime=%Date% %Time%
set Comment=Comment: %DateTime%
set /p Computer=Restart which computer?
REM Check to see if targeted computer is currently online
ping -n 1 -w 500 %Computer% | find "TTL"
if errorlevel 1 GOTO Error1
cls
shutdown -r -m %Computer% -f -t 0 -c "%DateTime%
REM Checking to make sure shut down was successful
timeout /t 2 /nobreak
wevtutil qe system /q:*[System[EventID=1074]] /c:1 /f:text /rd:true /r:%Computer% | find "%Comment%"
if errorlevel 1 GOTO Error2
感谢Kayasax将我指向wevtutil。
感谢James L.让我开始在评论中添加日期和时间,以确保它是最近的重新启动。
答案 0 :(得分:3)
您可以尝试查询远程计算机的事件日志,并使用windows7中的wevtutil实用程序检查eventid 6005示例
wevtutil qe system /q:*[System[EventID=6005]] /c:1 /f:text /rd:true /r %Computer%