防止 Windows 7 用户取消关机(disable shutdown -a)

防止 Windows 7 用户取消关机(disable 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 有设置密码,无法从用户配置文件中更改时间和日期。没有检查 BIOS 启动菜单是否有效(启动 Linux 并更改时间)。不过用户对 Linux 并不熟悉。

答案1

这个问题有两个不同的答案。一个直接回答你的问题,另一个告诉你应该如何设置。

您的问题的解决方案

您无法阻止用户使用计时器中止关机,但如果您将关机更改为 -t 0(立即关机),则无法使用关机 -a 命令阻止。因此,您可以启动 2 分钟后运行的第二个任务,该任务将执行关机 -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即可将其设为最终版本。

就是这样。用户将在注销前收到警告。

相关内容