
O seguinte retorna verdadeiro para servidores sem a GUI do servidor instalada:
WMIC PATH Win32_OptionalFeature WHERE "Caption = 'Microsoft-Windows-Server-Gui-Shell-Package-DisplayName' AND InstallState = 2"
No entanto, minha tentativa de traduzir isso em um filtro WMI...
SELECT * FROM Win32_OptionalFeature WHERE Caption = Microsoft-Windows-Server-Gui-Shell-Package-DisplayName AND InstallState = 2
...falhou com:
Ocorreu um erro de sintaxe ao tentar avaliar uma string de consulta.
...O que é bastante inútil.
Qual é o fracasso e por quê?
Responder1
Resolvi isso enquanto escrevia a pergunta e pensei em compartilhar. Eu me enganei ao usar o comando WMIC e não pensei sobre o requisito de valores entre aspas na sintaxe WQL bastante estrita usada aqui:
SELECT * FROM Win32_OptionalFeature WHERE Caption = "Microsoft-Windows-Server-Gui-Shell-Package-DisplayName" AND InstallState = "2"
Solução chata, mas aí está. Isso me levou a beber, então pensei em economizar o tempo de produtividade futura de outra pessoa.
Não deixe que isso o impeça de beber. Isso é bastante produtivo.