Назад | Перейти на главную страницу

Фильтр WMI групповой политики для проверки, установлен ли компонент Windows

Следующее возвращает 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

... не удалось:

Произошла синтаксическая ошибка при попытке оценить строку запроса.

... Что довольно бесполезно.

Что случилось и почему?

Я решил это, когда писал вопрос, и подумал, что поделюсь. Я обманул себя, введя команду WMIC, и не подумал о требовании цитируемых значений в довольно строгом синтаксисе WQL, используемом здесь:

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

Скучное решение, но вот оно. Это заставило меня напиться, поэтому я подумал, что сэкономлю время на продуктивность кого-то другого.

Однако не позволяйте этому мешать вам пить. Это очень продуктивно.