
從 Windows 7 管理員帳戶中,我設定了一個具有最大權限的排程任務,該任務執行一個 .cmd 文件,該文件執行
shutdown -s -f -t 120
如果使用者碰巧登入並且超過了允許的時間。
使用者只有使用者權限,但他仍然可以透過在「執行」方塊中鍵入來取消管理員強制關閉
shutdown -a.
如何防止使用者取消和管理員發出關閉命令? UAC 已啟用。謝謝。
我最終的 .cmd 是這樣的:
@echo off for /f "delims=" %%? in ('tasklist /v^| findstr /B /C:"explorer.exe"') do call :USERis %%? :USERis echo/%*|find "username">nul 2>&1&&(set "liet=username") echo/%*|find "Administrator">nul 2>&1&&(set "liet=Administrator") echo/%liet% if %liet%==username ( msg /server:localhost * /time:120 "Computer is shutting down in 2 minutes!" timeout /T 120 shutdown -s -f -t 0 -c "Computer is shutting down!" ) else ( echo Admin logged in! echo Do nothing exit ) exit
它計劃在 8 小時內每 3 分鐘重複運行一次,此時 PC 應禁止使用者使用。因此,即使 PC 重新啟動,如果使用者登錄,它仍然會關閉。沒有檢查 BIOS 啟動選單是否有效(啟動 Linux 並更改時間)。不過 Linux 的使用者都是笨蛋。
答案1
這個問題有兩個不同的答案。一種是直接回答您的問題,另一種是您應該如何設定它。
解決你的問題
您無法使用計時器阻止使用者中止關閉,但如果將關閉更改為 -t 0(立即關閉),則無法使用 shutdown -a 命令來阻止。因此,您可以啟動 2 分鐘後執行的第二個任務,該任務將執行 shutdown -s -f -t 0 來關閉電腦。使用者首先會看到一個 2 分鐘的計時器,即使他們中止它,系統也會在 2 分鐘後關閉。
你應該如何解決這個問題
Windows 提供登入時間的家長監護功能。設定此選項將使用戶在登入時間到期時登出。與您的解決方案不同,使用者不能簡單地開啟電腦和/或重新登入。等待您再次登入。
若要進行此設置,請執行以下操作:
- 轉到
start
->Control Panel
- 如果尚未這樣做,請在右上角設定
View by
為。Category
- 點擊
Set up parental controls for any user
。 - 按一下要限制的使用者。
- 將家長監護設定為
(x) On, enforce current settings
- 點選
Time limits
- 繪製/填充不允許使用者使用計算機的區塊。您可以使用左上角的拖曳來填滿大塊區域。
- 按一下Ok確定此最終結果。
就是這樣。用戶在登出前會收到警告。