阻止Windows 7用戶取消關機(停用shutdown -a)

阻止Windows 7用戶取消關機(停用shutdown -a)

從 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 提供登入時間的家長監護功能。設定此選項將使用戶在登入時間到期時登出。與您的解決方案不同,使用者不能簡單地開啟電腦和/或重新登入。等待您再次登入。

若要進行此設置,請執行以下操作:

  1. 轉到start->Control Panel
  2. 如果尚未這樣做,請在右上角設定View by為。Category
  3. 點擊Set up parental controls for any user
  4. 按一下要限制的使用者。
  5. 將家長監護設定為(x) On, enforce current settings
  6. 點選Time limits
  7. 繪製/填充不允許使用者使用計算機的區塊。您可以使用左上角的拖曳來填滿大塊區域。
  8. 按一下Ok確定此最終結果。

就是這樣。用戶在登出前會收到警告。

相關內容