使用者帳戶控制和 WMI

使用者帳戶控制 (UAC) 會影響從命令列工具、遠端存取傳回的 WMI 資料,以及腳本必須執行的方式。 如需 UAC 的詳細資訊,請參閱使用使用者帳戶控制消費者入門

下列各節說明 UAC 功能:

使用者帳戶控制

在 UAC 下,本機 Administrators 群組中的帳戶有兩個 存取權杖,一個具有標準使用者許可權,另一個具有系統管理員許可權。 由於 UAC 存取權杖篩選,腳本通常會在標準使用者權杖下執行,除非是在提高許可權模式中以系統管理員身分執行。 並非所有腳本都需要系統管理許可權。

腳本無法以程式設計方式判斷它們是在標準使用者安全性權杖或系統管理員權杖下執行。 腳本可能會失敗,並出現拒絕存取錯誤。 如果腳本需要系統管理員許可權,則必須在提升許可權的模式中執行。 WMI 命名空間的存取權會根據腳本是否以提升許可權模式執行而有所不同。 某些 WMI 作業,例如取得資料或執行大部分的方法,不需要以系統管理員身分執行帳戶。 如需預設存取權限的詳細資訊,請參閱 存取 WMI 命名空間 和執行 特殊許可權作業

由於使用者帳戶控制,執行腳本的帳戶必須位於本機電腦上的 Administrators 群組中,才能以提升許可權執行的能力。

您可以執行下列其中一種方法,執行具有提高許可權的腳本或應用程式:

若要在提升許可權模式中執行腳本

  1. 以滑鼠右鍵按一下 [開始] 功能表中的 [命令提示字元],然後按一下 [ 以系統管理員身分執行],以開啟 [命令提示字元] 視窗。
  2. 使用工作排程器排程腳本以執行提升許可權。 如需詳細資訊,請參閱 執行工作的安全性內容
  3. 使用內建的系統管理員帳戶執行腳本。

執行 WMI Command-Line工具所需的帳戶

若要執行下列 WMI Command-Line Tools,您的帳戶必須位於 Administrators 群組中,而且必須從提升許可權的命令提示字元執行此工具。 內建的系統管理員帳戶也可以執行這些工具。

  • mofcomp

  • wmic

    第一次在系統安裝之後執行 Wmic 時,它必須從提升許可權的命令提示字元執行。 除非 WMI 作業需要系統管理員許可權,否則後續執行 Wmic 可能需要提升許可權的模式。

  • winmgmt

  • wmiadap

若要執行 WMI 控制項 (Wmimgmt.msc) 並變更 WMI 命名空間安全性或稽核設定,您的帳戶必須明確授與編輯安全性許可權,或位於本機 Administrators 群組中。 內建的 Administrator 帳戶也可以變更命名空間的安全性或稽核。

Wbemtest.exe Microsoft 客戶支援服務不支援的命令列工具,可由不在本機 Administrators 群組中的帳戶執行,除非特定作業需要通常授與系統管理員帳戶的許可權。

處理 UAC 下的遠端連線

無論您是連線到網域或工作組中的遠端電腦,都會判斷是否會發生 UAC 篩選。

如果您的電腦是網域的一部分,請使用遠端電腦本機 Administrators 群組中的網域帳戶連線到目的電腦。 然後 UAC 存取權杖篩選不會影響本機 Administrators 群組中的網域帳戶。 請勿在遠端電腦上使用本機、非網域帳戶,即使帳戶位於 Administrators 群組中也一樣。

在工作組中,連線到遠端電腦的帳戶是該電腦上的本機使用者。 即使帳戶位於 Administrators 群組中,UAC 篩選也表示腳本會以標準使用者身分執行。 最佳做法是在目的電腦上特別針對遠端連線建立專用的本機使用者群組或使用者帳戶。

安全性必須調整為能夠使用此帳戶,因為帳戶從未擁有系統管理許可權。 提供本機使用者:

  • 遠端啟動並啟用存取 DCOM 的許可權。 如需詳細資訊,請參閱 連線到遠端電腦上的 WMI
  • 遠端存取 WMI 命名空間的許可權, (Remote Enable) 。 如需詳細資訊,請參閱 WMI 命名空間的存取
  • 根據 物件所需的安全性,存取特定安全性實體物件的許可權。

如果您使用本機帳戶,可能是因為您位於工作組或它是本機電腦帳戶,您可能會強制將特定工作提供給本機使用者。 例如,您可以透過 SC.exe 命令、Win32_Service的GetSecurityDescriptorSetSecurityDescriptor方法,或透過使用 Gpedit.msc 的 群組原則,將停止或啟動特定服務的許可權授與使用者。 某些安全性實體物件可能不允許標準使用者執行工作,而且無法提供改變預設安全性的方法。 在此情況下,您可能需要停用 UAC,以便不會篩選本機使用者帳戶,而是成為完整系統管理員。 請注意,基於安全性考慮,停用 UAC 應該是最後的手段。

不建議變更控制遠端 UAC 的登錄專案來停用遠端 UAC,但在工作組中可能是必要的。 登錄專案是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\原則\系統\LocalAccountTokenFilterPolicy。 當此項目的值為零 (0) 時,就會啟用遠端 UAC 存取權杖篩選。 當值為 1 時,則會停用遠端 UAC。

對傳回給腳本或應用程式的 WMI 資料產生 UAC 效果

如果腳本或應用程式是在 Administrators 群組中的帳戶下執行,但未以較高的權限執行,則您可能不會取得傳回的所有資料,因為此帳戶是以標準使用者身分執行。 某些類別的 WMI 提供者 不會將所有實例傳回標準使用者帳戶,或因為 UAC 篩選而未以完整系統管理員身分執行的系統管理員帳戶。

當帳戶經過 UAC 篩選時,下列類別不會傳回某些實例:

當帳戶經過 UAC 篩選時,下列類別不會傳回某些屬性:

關於 WMI

存取 WMI 安全性實體物件

變更安全性實體物件的存取安全性