如果重新启动可能在服务器未处于活动状态时自动发生,则会对此进行大量修改.到目前为止,我最好的尝试涉及在事件安全/安全审计/ 4634(注销)上触发的计划任务,但我未能确定刚刚断开的会话是否是最后一个会话,这可能不是最好的方法.
一旦没有活动会话(交互式或断开连接),是否有办法执行任务(即PS重启 – 计算机)?
如果重新启动可能在服务器未处于活动状态时自动发生,则会对此进行大量修改.到目前为止,我最好的尝试涉及在事件安全/安全审计/ 4634(注销)上触发的计划任务,但我未能确定刚刚断开的会话是否是最后一个会话,这可能不是最好的方法.
一旦没有活动会话(交互式或断开连接),是否有办法执行任务(即PS重启 – 计算机)?
SET LOGFILE=C:\TEMP\Reboot.log ECHO. (*) %DATE% %TIME% > %LOGFILE% :CHECKSESSIONS ECHO. (*) %DATE% %TIME% Waiting one minute... >> %LOGFILE% REM WAIT ONE MINUTE TIMEOUT /T 60 QUERY USER >> %LOGFILE% 2>&1 FOR /F "tokens=*" %%i IN ('QUERY USER ^| FIND /C "Active"') DO SET ACTIVESESSIONS=%%i >> %LOGFILE% 2>&1 IF %ACTIVESESSIONS% GTR 0 ( ECHO Active sessions: %ACTIVESESSIONS% >> %LOGFILE% 2>&1 GOTO :CHECKSESSIONS ) FOR /F "tokens=*" %%i IN ('QUERY USER ^| FIND /C "Disc"') DO SET DISCONNECTEDSESSIONS=%%i >> %LOGFILE% 2>&1 IF %DISCONNECTEDSESSIONS% GTR 0 ( ECHO Disconnected sessions: %DISCONNECTEDSESSIONS% >> %LOGFILE% 2>&1 GOTO :CHECKSESSIONS ) ECHO. (*) %DATE% %TIME% Restarting computer >> %LOGFILE% SHUTDOWN /F /R /T 0 >> %LOGFILE% 2>&1