我需要有关组策略WMI筛选器的WMI查询的帮助。我正在查询root \ CIMV2 WMI提供程序中的win32_group命名空间。
我正在几个窗口的计算机(XP-8,服务器03-12)上搜索本地安全组(如“管理员”)。当查询在计算机上运行时,我希望它将计算机名称注入到域的等效字段中。
基本WQL语句如下所示:
SELECT * FROM win32_group
WHERE Domain="currentComputerName" and Name="Administrators"
我的目标是沿着这些行运行WQL语句,但这是一个错误的WQL语句:
SELECT * FROM win32_group
WHERE Domain=(SELECT Name FROM Win32_ComputerSystem) and Name="Administrators"
重要的是我能够为域注入当前计算机的名称。这些计算机是Active Directory(AD)域的一部分。默认情况下,除了本地计算机的安全组(如果省略Domain参数),win32_group将搜索所有AD域的组。通过将本地计算机名称指定为域,查询的性能会更快 - 这对于其目的至关重要。
我在WBEMTEST中尝试了一些查询变体而没有运气。 有没有人对如何将计算机名称注入WQL WMI查询有任何想法?是否可以使用常量,如命令提示符下的HOSTNAME?
感谢您的帮助!
答案 0 :(得分:0)
你用什么语言写这个?或者要清楚,您使用什么编程或脚本语言来运行这些WMI查询?
在PowerShell中,您可以通过运行以下代码来执行此操作:
Get-WMIObject -Query "SELECT * FROM Win32_Group WHERE Domain='$env:USERDOMAIN' AND Name='Administrators'"