如何允許非管理員使用 shutdown.exe?

如何允許非管理員使用 shutdown.exe?

根據已接受答案中的評論shutdown.exe問題,即使使用者是管理員,我在執行呼叫 的計劃任務時也遇到問題。我正在使用其他人的主帳戶管理他們的機器,所以我不能做太多改變,因為他們喜歡事情本來的樣子。

真正奇怪的是,我只能在以下情況下運行任務:

  1. 該使用者是管理員。
  2. 他們定義了一個密碼。

由於某種我不知道的奇怪原因,使用者不僅必須是管理員,而且必須是管理員必須帳戶有密碼才能執行排程任務。否則,我會收到訪問被拒絕錯誤並且任務無法運行。

如何在不強制使用者為其帳戶定義密碼的情況下完成這項工作?

本質上,剩下的目標是每天晚上 11 點關閉電腦(無論誰登入或未登入)。

當我嘗試在程式中設定任務時遇到以下錯誤Scheduled Tasks

在此輸入影像描述

嘗試設定任務帳戶資訊時發生錯誤。
具體錯誤為:
0x8007005:存取被拒絕。
您無權執行請求的操作。

作為記錄,這是我的安全策略,你可以看到我的用戶有強制關機和手動關閉電腦的權限:

在此輸入影像描述

答案1

最簡單的解決方案是將所述計劃任務配置為在管理員帳戶下執行。你做不是需要使用與通常登入的使用者相同的帳戶 - 只需在建立任務時提供不同的憑證即可。

如果您不希望「管理員」有密碼,您可以只為排程任務建立一個專用帳戶。 (如果您應用下面的修復程序,受限用戶帳戶也可以工作。)


shutdown.exe計劃需要Se遠端關閉權限運行,而不是通常的SeShutdown權限– 我的猜測是它使用相同的 RPC 來關閉本地和遠端電腦。 (這也解釋了對密碼的需要——預設情況下,只有控制台登入是豁免的,這顯然不包括 RPC。)

您可以授予Se遠端關閉權限透過secpol.msc當地政策使用者權利分配,透過編輯「從遠端系統強制關閉」條目。

  • 您可以為該任務建立專用帳戶並將其新增至此處(最佳選擇)。
  • 對於任何使用者的互動式命令列使用,您可以新增INTERACTIVE.
  • 對於任何使用者的計劃任務,請新增BATCH.

答案2

這是一個更簡單的解決方案:

如果您只想允許本機使用者運行%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,然後按一下 ,然後按一下OKOK再次按一下。

來源: 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

相關內容