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


6

根据问题的已接受答案中的注释shutdown.exe,即使用户是管理员,我也遇到运行计划任务的问题。我正在使用他们的主帐户管理其他人的机器,所以我不能完全改变他们喜欢的东西。

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

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

由于某些我不了解的奇怪原因,用户不仅必须是管理员,而且还必须在帐户上设置密码才能运行计划任务。否则,我得到访问被拒绝错误,任务无法运行。

如何在不强制用户为其帐户定义密码的情况下完成此工作?

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

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

在此输入图像描述

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

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

在此输入图像描述


计划任务是否在要关闭或远程关闭的计算机上运行?你尝试过使用psshutdown而不是关机吗?
哈利约翰斯顿

在当地,没有尝试过psshutdown。
Naftuli Kay 2011年

1
Windows需要一个密码用于远程桌面和其他网络管理操作,因为它只是一个安全漏洞太大而无法以其他方式使用它。最重要的是,许多人首先会责怪微软的安全性差,而不是他们自己的疏忽,如果他们被黑了。
Hand-E-Food

嗯。好吧,Linux通常非常安全,我可以简单地sudo crontab -e添加0 23 * * * shutdown -P now。Windows上的管理员帐户每天在给定时间关闭计算机可能会如此困难?
Naftuli Kay 2011年

1
@grawity:我认为SYSTEM不能拥有网络域中的任何权利。这只是强化了你的结论:Windows NT安全模型更安全(更强大),因为它更难获得所有权利。unix root太方便了,因此sudo
MSalters 2011年

Answers:


5

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

如果您不希望“管理员”拥有密码,则只需为计划任务创建专用帐户即可。(如果您应用以下修复,则有限的用户帐户也可以使用。)


shutdown.exe程序需要运行SeRemoteShutdownPrivilege,而不是通常的SeShutdownPrivilege - 我的猜测是它使用相同的RPC来关闭本地和远程机器。(这也解释了对密码的需求 - 默认情况下,只有控制台登录是免除的,显然不包括RPC。)

您可以通过→ 本地策略用户权限分配,通过编辑“强制关闭远程系统”条目来授予SeRemoteShutdownPrivilegesecpol.msc

  • 您可以为任务创建专用帐户并在此处添加(最佳选择)。
  • 对于任何用户的交互式命令行使用,您可以添加INTERACTIVE
  • 对于任何用户的计划任务,请添加BATCH

1
+1:计划任务的专用帐户。很棒的答案。
surfasb 2011年

我试图允许我的用户通过启用INTERACTIVEBATCH和我的用户获得该权限,现在Windows将不会通过“欢迎”屏幕,它只是挂起:(
Naftuli Kay 2011年

@TK:奇怪,因为欢迎屏幕没有使用该权限。尝试以其他用户身份登录,或通过安全模式登录。如果您设法进入,请检查事件日志(eventvwr.msc)。
grawity 2011年

我无法进入任何帐户。显示欢迎屏幕,没有其他内容。我没有明显的选择。
Naftuli Kay 2011年

@TK:即使在安全模式下?此外,尝试在欢迎屏幕上按两次Ctrl + Alt + Del。
grawity 2011年

1

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

我很依赖这样一个事实:与空白密码有关的唯一其他设置是“限制本地帐户使用空白密码来仅控制台登录”

尝试该设置。它位于安全选项下,位于用户权限分配之下。


1

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

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

怎么做:跑secpol.msc。打开Security Settings \ Local Policies \ User Rights Assignment。双击Force shutdown from a remote system右窗格。点击Add User or GroupINTERACTIVE在文本框中输入名称Check names,然后单击OK,然后OK再次单击。

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


0

为空密码帐户创建任务有一些限制。

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

创建任务窗口

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

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

在Windows XP上,抱歉。我刚刚更新了问题标签以反映这一点。
Naftuli Kay 2011年

答案相应更新。
哈利约翰斯顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.