用户帐户控制和 WMI
用户帐户控制(UAC)会影响从命令行工具、远程访问以及脚本的运行方式返回的 WMI 数据。 有关 UAC 的详细信息,请参阅 用户帐户控制入门。
以下部分介绍 UAC 功能:
- 用户帐户控制
- 运行 WMI Command-Line 工具 所需的 帐户
- 处理 UAC 下的远程连接
- UAC 对返回到脚本或应用程序的 WMI 数据的影响
- 相关主题
用户帐户控制
在 UAC 下,本地管理员组中的帐户有两个 访问令牌,一个具有标准用户特权,一个具有管理员权限。 由于 UAC 访问令牌筛选,脚本通常在标准用户令牌下运行,除非它在提升的权限模式下以“管理员身份”运行。 并非所有脚本都需要管理权限。
脚本无法以编程方式确定它们是在标准用户安全令牌还是管理员令牌下运行。 脚本可能会失败,出现访问被拒绝错误。 如果脚本需要管理员权限,则必须在提升的模式下运行它。 对 WMI 命名空间的访问因脚本是否在提升模式下运行而异。 某些 WMI作(例如获取数据或执行大多数方法)不需要以管理员身份运行帐户。 有关默认访问权限的详细信息,请参阅 对 WMI 命名空间的访问 和 执行特权作。
由于用户帐户控制,运行脚本的帐户必须位于本地计算机上的 Administrators 组中,才能使用提升的权限运行。
可以通过执行以下方法之一来运行具有提升权限的脚本或应用程序:
在提升模式下运行脚本
- 在“开始”菜单中右键单击命令提示符,然后单击 以管理员身份运行打开命令提示符窗口。
- 计划脚本以使用任务计划程序运行提升。 有关详细信息,请参阅 运行任务的安全上下文。
- 使用内置管理员帐户运行脚本。
运行 WMI Command-Line 工具所需的帐户
若要运行以下 WMI Command-Line Tools,帐户必须位于管理员组中,并且必须从提升的命令提示符运行该工具。 内置管理员帐户还可以运行这些工具。
-
首次在系统安装后运行 Wmic 时,必须从提升的命令提示符运行它。 除非 WMI作需要管理员权限,否则 Wmic 的后续执行可能不需要提升的模式。
若要运行 WMI 控制(Wmimgmt.msc),并更改 WMI 命名空间安全性或审核设置,帐户必须具有显式授予或位于本地管理员组中的编辑安全权限。 内置管理员帐户还可以更改命名空间的安全性或审核。
Wbemtest.exe(Microsoft客户支持服务不支持的命令行工具)可以由本地管理员组中的帐户运行,除非特定作需要通常授予管理员帐户的权限。
处理 UAC 下的远程连接
无论是连接到域中的远程计算机还是工作组中的远程计算机,都确定是否发生 UAC 筛选。
如果计算机是域的一部分,请使用远程计算机的本地管理员组中的域帐户连接到目标计算机。 然后,UAC 访问令牌筛选不会影响本地管理员组中的域帐户。 请勿在远程计算机上使用本地非域帐户,即使该帐户位于管理员组中也是如此。
在工作组中,连接到远程计算机的帐户是该计算机上的本地用户。 即使帐户位于管理员组中,UAC 筛选也意味着脚本以标准用户身份运行。 最佳做法是在专用于远程连接的目标计算机上创建专用的本地用户组或用户帐户。
必须调整安全性才能使用此帐户,因为该帐户从未拥有管理权限。 为本地用户提供:
- 远程启动和激活访问 DCOM 的权限。 有关详细信息,请参阅 连接到远程计算机上的 WMI。
- 远程访问 WMI 命名空间的权限(远程启用)。 有关详细信息,请参阅 访问 WMI 命名空间。
- 访问特定安全对象的权限,具体取决于对象所需的安全性。
如果使用本地帐户,要么是因为你位于工作组中,要么是本地计算机帐户,则可能被迫向本地用户提供特定任务。 例如,可以通过 SC.exe 命令、GetSecurityDescriptor 和 SetSecurityDescriptorWin32_Service方法或使用 Gpedit.msc 通过组策略向用户授予停止或启动特定服务的权限。 某些安全对象可能不允许标准用户执行任务,也不提供更改默认安全性的方法。 在这种情况下,可能需要禁用 UAC,以便不会筛选本地用户帐户,而是成为完全管理员。 请注意,出于安全原因,禁用 UAC 应该是最后的手段。
建议不要通过更改控制远程 UAC 的注册表项来禁用远程 UAC,但可能需要在工作组中。 注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\CurrentVersion\策略\系统\LocalAccountTokenFilterPolicy。 如果此项的值为零(0),则启用远程 UAC 访问令牌筛选。 如果值为 1,则禁用远程 UAC。
UAC 对返回到脚本或应用程序的 WMI 数据的影响
如果脚本或应用程序在 Administrators 组中的帐户下运行,但未使用提升的权限运行,则可能无法获取返回的所有数据,因为此帐户以标准用户身份运行。 某些类的 WMI 提供程序 不会将所有实例返回到标准用户帐户或由于 UAC 筛选而未作为完全管理员运行的管理员帐户。
以下类在 UAC 筛选帐户时不返回某些实例:
- Win32_Bus
- Win32_Printer
- Win32_ComponentCategory
- Win32_LogicalProgramGroupItem
- Win32_LogicalProgramGroup
- Win32_NetworkConnection
- Win32_UserAccount
- Win32_PrinterDriver
- Win32_PortResource
- Win32_DeviceMemoryAddress
以下类在 UAC 筛选帐户时不返回某些属性:
- Win32_NetworkAdapterConfiguration
- Win32_DCOMApplicationSetting
- Win32_DCOMApplication
- Win32_Baseboard
- Win32_ComputerSystem
- Win32_NetworkAdapter
- Win32_MotherboardDevice
- Win32_DiskDrive
- Win32_PnPEntity
- Win32_VideoController
- Win32_ParallelPort
- Win32_LogicalDisk
- Win32_SystemDriver
- Win32_IRQResource
- Win32_NetworkProtocol
相关主题
-
关于 WMI 的