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管理インストルメンテーション (WMI) クエリを実行します。 他のクエリ コマンドレットやツールとは異なり、このコマンドレットでは、接続と名前空間が既にセットアップされています。
このコマンドレットを使用して、WMI クエリ言語 (WQL) を使用してクエリを作成することもできます。 Configuration Manager は、コレクション内のクエリに WQL を使用します。 WQL は、SQL似ていますが、引き続き SMS プロバイダーを使用するため、役割ベースのアクセス制御に従います。
注意
Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します PS XYZ:\> 。 詳細については 、「Getting started」を参照してください。
例
例 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。 これは 、SMS_Site Status プロパティを含むクラスとして指定します。
$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。 このプロパティは SMS_Site プロパティを含むクラス としてCI_IDします 。
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
パラメーター
クエリを実行する Configuration Manager WMI クラスを指定します。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットを実行する前に確認メッセージを表示します。
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
WMI コンテキストをハッシュ テーブルとして指定します。 これは、カスタマイズされた操作のコンテキスト情報をサポートする WMI プロバイダーに渡される名前と値のペアの一覧です。
| Type: | Hashtable |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターは、ワイルドカード文字をリテラル文字値として扱います。 ForceWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
最も一般的なオプションは Fast です。
クエリ オプションを指定します。
None: 既定Lazy: 既定では、コマンドレットは遅延プロパティを読み込む。Fast: 遅延プロパティを読み込まない場合は、このオプションを使用します。 このオプションは、一部のクラスの結果を迅速に返す場合があります。ExpectResults&ExpectResultsThrowException: クエリが結果を返さない場合は、例外をスローします。 通常、この例外はスクリプトを終了します。FastExpectResults&LazyExpectResults: これらのオプションを組みFast合わせてLazyExpectResults使用します。ExpectResultsSoftFail: クエリが結果を返さなかった場合は、エラーを出力しますが、スクリプトは終了されません。
遅延プロパティの詳細については、「Configuration Manager lazy properties」を参照してください。
次の値は、内部でのみ使用できます。
- Clone
- NoMask
- NoRefresh
- IgnoreNoResults
| Type: | QueryOptions |
| Aliases: | Options |
| Accepted values: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
WMI クエリ言語 (WQL) ステートメントを指定します。
| Type: | String |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
SMSProviderSearch オブジェクトを指定します。
| Type: | SmsProviderSearch |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
入力
なし
出力
IResultObject[]
IResultObject