Invoke-CMWmiQuery
WMI クエリを実行します。
構文
Invoke-CMWmiQuery
[-Context <Hashtable>]
[-Option <QueryOptions>]
[-Query] <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMWmiQuery
-ClassName <String>
[-Context <Hashtable>]
[-Option <QueryOptions>]
-Search <SmsProviderSearch>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Invoke-CMWmiQuery コマンドレットは、Windows Management Instrumentation (WMI) クエリを実行します。 他のクエリ コマンドレットやツールとは異なり、このコマンドレットを使用すると、接続と名前空間が既に設定されています。
このコマンドレットを使用して、WMI クエリ言語 (WQL) を使用してクエリを作成することもできます。 Configuration Manager は、コレクション内のクエリに WQL を使用します。 WQL は SQL に似ていますが、引き続き SMS プロバイダーを使用するため、ロールベースのアクセス制御に従います。
注:
PS XYZ:\>
など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。
例
例 1: WQL クエリを実行する
最初のコマンドは、WQL クエリを作成し、 $WQL 変数に格納します。 2 番目のコマンドは、 変数に格納されているクエリを実行します。
$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@
Invoke-CMWmiQuery -Query $WQL -Option Lazy
例 2: デバイス コレクションの WMI クエリを実行する
最初のコマンドは、検索オブジェクトを作成し、 オブジェクトを $Search 変数に格納します。
2 番目のコマンドは、検索順序が CollectionID で昇順であることを指定します。
3 番目のコマンドは、 $Search オブジェクトに検索パラメーターを追加します。 この場合、クエリはデバイス コレクションを検索します。
最後のコマンドは、 $Searchに格納されているクエリを実行します。 CollectionID プロパティを含むクラスとしてSMS_Collectionを指定します。
$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)
Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy
例 3: 状態別にサイトの WMI クエリを実行する
最初のコマンドは、既存の検索オブジェクトから検索パラメーターをクリアします。
2 番目のコマンドは、 $Search オブジェクトに検索パラメーターを追加します。 この場合、クエリはサイトを検索します。
最後のコマンドは、 $Searchに格納されているクエリを実行します。 サイトの Status プロパティを含むクラスとしてSMS_Siteを指定します。
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
例 4: サイトの WMI クエリを名前で実行する
最初のコマンドは、既存の検索オブジェクトから検索パラメーターをクリアします。
2 番目のコマンドは、 $Search オブジェクトに検索パラメーターを追加します。 この場合、クエリはサイトを検索します。
最後のコマンドは、 $Searchに格納されているクエリを実行します。 siteName プロパティを含むクラスとしてSMS_Siteを指定します。
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
例 5: アプリケーションの WMI クエリを実行する
最初のコマンドは、既存の検索オブジェクトから検索パラメーターをクリアします。
2 番目のコマンドは、 $Search オブジェクトに検索パラメーターを追加します。 この場合、クエリはアプリケーションを検索します。
最後のコマンドは、 $Searchに格納されているクエリを実行します。 サイト CI_ID プロパティを含むクラスとして SMS_Application を指定します。
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
パラメーター
-ClassName
クエリを実行する Configuration Manager WMI クラスを指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認メッセージを表示します。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Context
WMI コンテキストをハッシュ テーブルとして指定します。 これは、カスタマイズされた操作のコンテキスト情報をサポートする WMI プロバイダーに渡される名前と値のペアの一覧です。
型: | Hashtable |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Option
最も一般的なオプションは Fast
です。
クエリ オプションを指定します。
-
None
:デフォルト -
Lazy
: 既定では、コマンドレットは遅延プロパティを読み込みます。 -
Fast
: 遅延プロパティを読み込まないようにするには、このオプションを使用します。 このオプションは、一部のクラスの結果をより迅速に返すことができます。 -
ExpectResults
&ExpectResultsThrowException
: クエリから結果が返されない場合は、例外をスローします。 この例外は通常、スクリプトを終了します。 -
FastExpectResults
&LazyExpectResults
: これらのオプションは、Fast
とLazy
をExpectResults
と組み合わせたオプションです。 -
ExpectResultsSoftFail
: クエリから結果が返されない場合は、エラーを出力しますが、スクリプトは終了しません。
遅延プロパティの詳細については、「 Configuration Manager の遅延プロパティ」を参照してください。
次の値は、内部でのみ使用されます。
- Clone
- NoMask
- NoRefresh
- IgnoreNoResults
型: | QueryOptions |
Aliases: | Options |
指定可能な値: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Query
WMI クエリ言語 (WQL) ステートメントを指定します。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Search
SMSProviderSearch オブジェクトを指定します。
型: | SmsProviderSearch |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
IResultObject[]
IResultObject