我如何允许非管理员使用shutdown.exe?

我如何允许非管理员使用shutdown.exe?

根据已接受答案中的评论问题,我在运行调用 的计划任务时遇到了问题shutdown.exe,即使用户是管理员也是如此。我正在使用他们的主帐户管理其他人的机器,因此我无法进行太多更改,因为他们喜欢保持原样。

真正奇怪的是,我只能在以下情况下运行该任务:

  1. 该用户是管理员。
  2. 他们已经定义了密码。

由于一些我不知道的奇怪原因,用户不仅必须是管理员,而且他们还必须帐户必须有密码,计划任务才能运行。否则,我会收到拒绝访问错误,任务无法运行。

我怎样才能实现这一点而不必强迫用户为他们的帐户定义密码?

本质上,剩下的目标就是每天晚上 11 点关闭计算机(无论谁登录或未登录)。

当我尝试在程序中设置任务时遇到以下错误Scheduled Tasks

在此处输入图片描述

尝试设置任务帐户信息时发生错误。
具体错误为:
0x8007005:访问被拒绝。
您没有权限执行请求的操作。

为了记录,这是我的安全策略,您可以看到我的用户有强制关机和手动关闭计算机的权限:

在此处输入图片描述

答案1

最简单的解决方案是将上述计划任务配置为在管理员帐户下运行。您可以不是需要使用与通常登录的用户相同的帐户 - 只需在创建任务时提供不同的凭据。

如果您不希望“管理员”拥有密码,您可以只为计划任务创建一个专用帐户。(如果您应用以下修复,受限用户帐户也可以正常工作。)


shutdown.exe计划需要远程关机权限跑步,而不是像往常一样SeShutdown权限– 我的猜测是它使用相同的 RPC 来关闭本地和远程计算机。(这也解释了为什么需要密码 – 默认情况下,只有控制台登录是免除的,这显然不包括 RPC。)

您可以授予远程关机权限通过secpol.msc当地政策用户权限分配,通过编辑“从远程系统强制关闭”条目。

  • 您可以为该任务创建一个专用帐户并将其添加在这里(最佳选择)。
  • 对于任何用户来说,都可以使用交互式命令行,您可以添加INTERACTIVE
  • 对于任何用户的计划任务,添加BATCH

答案2

这是一个更简单的解决方案:

如果只想允许本地用户运行%windir%\system32\shutdown.exe -s -t 0,请将 授予SeRemoteShutdownPrivilegeINTERACTIVE。只有本地用户才是该组的成员。

操作方法:运行secpol.msc。打开。在右侧窗格中Security Settings \ Local Policies \ User Rights Assignment双击。单击。在文本框中输入名称并单击,然后单击,再单击一次。Force shutdown from a remote systemAdd User or GroupINTERACTIVECheck namesOKOK

来源: http://blogs.msdn.com/aaron_margosis/archive/2006/01/27/518214.aspx

答案3

我看到您仍在尝试在没有密码的管理员帐户上安排任务。

我相信与空白密码有关的唯一其他设置是“限制本地帐户使用空白密码仅限于控制台登录”

尝试该设置。它位于“安全选项”下,就在“用户权限分配”下面。

答案4

对于使用空白密码的账户创建任务有一些限制。

您可以创建一个运行shutdown.exe的任务,但您需要设置“不存储密码”选项。这是在Windows 7 SP1上,如果您使用的是其他操作系统,请告知我们。

创建任务窗口

对于 Windows XP,使用命令行 AT 工具:

at 23:00 /every:monday,tuesday,wednesday,thursday,friday,saturday,sunday shutdown /s

相关内容