组策略 WMI 过滤器检查 Windows 功能是否已安装

组策略 WMI 过滤器检查 Windows 功能是否已安装

对于没有安装服务器 GUI 的服务器,以下内容返回 true:

WMIC PATH Win32_OptionalFeature WHERE "Caption = 'Microsoft-Windows-Server-Gui-Shell-Package-DisplayName' AND InstallState = 2"

但是,我尝试将其转换为 WMI 过滤器……

SELECT * FROM Win32_OptionalFeature WHERE Caption = Microsoft-Windows-Server-Gui-Shell-Package-DisplayName AND InstallState = 2

...失败:

尝试评估查询字符串时发生语法错误。

...这没什么帮助。

失败是什么以及为什么?

答案1

我在写这个问题的时候就解决了这个问题,我想和大家分享一下。我在敲出 WMIC 命令的时候欺骗了自己,没有考虑到这里使用的相当严格的 WQL 语法中对引用值的要求:

SELECT * FROM Win32_OptionalFeature WHERE Caption = "Microsoft-Windows-Server-Gui-Shell-Package-DisplayName" AND InstallState = "2"

无聊的解决方案,但就是这样。它让我开始喝酒,所以我想我可以节省别人未来的工作时间。

但不要因此而停止喝酒。喝酒很有成效。

相关内容