1. AT + shutdown.exe - 不 work, 理由請看: http://support.microsoft.com/kb/814761,
重點就是執行 AT 的 account 是 Local System, 但它沒有 shutdown 的權限
(SeRemoteShutdownPrivilege).
2.schtasks.exe (XP Professional 內建, 功能類似 AT) + psshutdown.exe
部份可行. 可以做到登入後一段時間, 強迫關機或休眠, 但無法強迫登出(因為 psshutdown 的參數 -t 不適用於 -o
logoff), 而且執行 psshutdown.exe 需要管理者權限.
3. 比較好的解法(不需管理者權限)
工具 shutdown.exe (注意:檔名跟 XP 內建的相同, 但不是同一個), 配合 XP 排定的工作.
shutdown 下載: http://www.beyondlogic.org/solutions/shutdown/shutdown.htm
1. 建立一個 .bat 檔如:forcelogout.bat, 內容如下:
"C:\Documents and Settings\user1\shutdown" -s logoff -l 60 -f -c
2. 登入系統管理者帳號, 建立 schedule task.
使用控制台的”排定的工作”也可以設定(注意要勾選”啟用”及"登入後才執行").
理論上使用 command-line 的 schtasks 應該也可以, 可以不知道為什麼, "登入後才執行" 的設定一直無法成功(/SC
ONLOGON)
語法範例: schtasks /Create /sc ONLOGON /tn forcelogoff /ru user1 /tr "C:
\Documents and Settings\user1\forcelogout.bat"
查詢: schtasks /query /v /fo list
刪除: schtasks /delete /tn task_name
變更: schtasks /change /tn task_name
3. 該 user 登入後, 60 秒後(本例)會被強迫登出(user 無法停止)
小缺點:user 登入後會出現一個 DOS 視窗(user 可以關掉但無法停止強迫登出計時)
Ref.
http://support.microsoft.com/kb/814761
http://blogs.techrepublic.com.com/security/?p=285
http://groups.google.co.uk/group/microsoft.public.windowsxp.security_admin/msg/3f9fe1c789c15ddb
http://www.beyondlogic.org/solutions/shutdown/shutdown.htm