3

リモート コンピューターを再起動し、コンピューターの再起動が完了したら再度ログインするバッチ ファイルを作成中です。エラー処理以外はすべて機能しています。必要なのは、シャットダウンが成功したか失敗したかを確認することだけです。

助けが必要なコードの部分は次のとおりです。

@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

wevtutil を教えてくれた Kayasax に感謝します。

コメントに日付と時刻を追加して、それが最新の再起動であることを確認する方法を教えてくれた James L. に感謝します。

4

1 に答える 1

3

Windows 7 の wevtutil ユーティリティを使用して、リモート コンピューターのイベント ログをクエリし、eventid 6005 の例を確認することができます。

wevtutil qe system /q:*[System[EventID=6005]] /c:1 /f:text /rd:true /r %Computer%
于 2013-06-19T17:26:56.840 に答える