locked
WMIフィルターについて RRS feed

  • 質問

  • グループポリシーにて、以下の内容のWMIフィルターを作成したいのです。


    ■サブネットマスクが「255.255.255.0」なら実行する


    クエリーを作成すべく、「WMI code Cretor」で以下のクエリを実行すると、

    「..\MyWMIQuery_Script.vbs(6, 1) (null): 0x80041017」とエラーになります。


    SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled=true and IPSubnet='255.255.255.0,64'


    「and IPSubnet='255.255.255.0,64'」を消せば、正常に動作するのでこの部分が悪いのは

    わかるのですが、何が悪いかかわかりません。

    記述が間違っているならどこが間違っているか教えて頂きたいです。


    よろしくお願いします。

    2016年3月4日 8:32

回答

  • チャブーンです。

    WMI Code Creatorというツールは使ったことがありませんのでわかりませんが、ひとまず、クラスのリファレンスを見てみるといいと思います。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa394217(v=vs.85).aspx

    で、そうなると「IPSubnet='255.255.255.0,64'」という引数の意味が分からない、ということになりますが。

    思い直して、エラーコードを見直してみたところ、このエラーコードは「要素がない」=Nullであるためのエラーということのようです。そして、リファレンスからわかるのは、IPSubnetプロパティはアレイ型での定義が必要ということなので、単純にWMIQueryで指定しても、「フィルター対象がない」というところで、Nullが戻ってきてしまう、ということのように見えますね。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    • 編集済み チャブーンMVP 2016年3月4日 9:47 内容の修正
    • 回答としてマーク wata-wata 2016年3月5日 1:16
    • 回答としてマークされていない wata-wata 2016年3月5日 1:16
    • 回答としてマーク wata-wata 2016年3月5日 1:17
    2016年3月4日 9:25
  • チャブーンです。

    「アレイ型」というのは、変数における型の一つで「複数の値が配列されている」形式の値になり、一般的な単一データ形式の値とは、異なるものとして認識されます。WQLでは仕様上、値の指定は単一データが前提となっているようなので、アレイ型はそもそも指定できませんし、単一データ形式としてムリに指定しても「アレイ型とは違うので」フィルターの対象と認識されない=対象として引っかからない、ということかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク wata-wata 2016年3月5日 8:01
    2016年3月5日 7:52

すべての返信

  • チャブーンです。

    WMI Code Creatorというツールは使ったことがありませんのでわかりませんが、ひとまず、クラスのリファレンスを見てみるといいと思います。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa394217(v=vs.85).aspx

    で、そうなると「IPSubnet='255.255.255.0,64'」という引数の意味が分からない、ということになりますが。

    思い直して、エラーコードを見直してみたところ、このエラーコードは「要素がない」=Nullであるためのエラーということのようです。そして、リファレンスからわかるのは、IPSubnetプロパティはアレイ型での定義が必要ということなので、単純にWMIQueryで指定しても、「フィルター対象がない」というところで、Nullが戻ってきてしまう、ということのように見えますね。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    • 編集済み チャブーンMVP 2016年3月4日 9:47 内容の修正
    • 回答としてマーク wata-wata 2016年3月5日 1:16
    • 回答としてマークされていない wata-wata 2016年3月5日 1:16
    • 回答としてマーク wata-wata 2016年3月5日 1:17
    2016年3月4日 9:25
  • チャブーンさん回答ありがとうございます。

    「アレイ型での定義が必要」というのは私にはよくわからないのですが、リファレンスの項目一覧でIPSubnet[]のように

    後ろに[]が記述してある項目は同様に設定することができませんでした。クエリでは設定できない項目なのかもしれません。

    別な方法を考えます。

    ありがとうございました。

    2016年3月5日 1:17
  • チャブーンです。

    「アレイ型」というのは、変数における型の一つで「複数の値が配列されている」形式の値になり、一般的な単一データ形式の値とは、異なるものとして認識されます。WQLでは仕様上、値の指定は単一データが前提となっているようなので、アレイ型はそもそも指定できませんし、単一データ形式としてムリに指定しても「アレイ型とは違うので」フィルターの対象と認識されない=対象として引っかからない、ということかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク wata-wata 2016年3月5日 8:01
    2016年3月5日 7:52
  • チャブーンさん回答ありがとうございます。

    大変分かり易い説明ありがとうございます。

    勉強になりました。

    2016年3月5日 8:01