Standalone 的 XP 登入一段時間後, 自動強迫登出 (at, schtasks, shutdown, psshutdown, 排定的工作)

247 views
Skip to first unread message

Roland

unread,
Mar 14, 2010, 9:12:43 AM3/14/10
to CISSPTaiwan
為什麼有這種奇怪的需求呢? 好吧, 限制小朋友打線上遊戲的時間 :), 所以想在 user 登入後一段時間, 如: 30 分鐘, 強制登出.而
且 user 不能停止, user 也不需管理者權限, 來試試吧.

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

Roland

unread,
Mar 14, 2010, 9:14:22 AM3/14/10
to CISSPTaiwan
Reply all
Reply to author
Forward
0 new messages