
以下は、サーバー 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"
退屈な解決策ですが、これが私のやり方です。私は飲酒に走ってしまったので、他の誰かの将来の生産時間を節約しようと思いました。
しかし、飲酒をやめないでください。飲酒は十分生産的です。