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 プロバイダーを使用するため、ロールベースのアクセス制御に従います。
注:
Configuration Manager サイト ドライブからConfiguration Managerコマンドレットを実行します (例: PS XYZ:\>
)。 詳細については、「作業の 開始」を参照してください。
例
例 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 クラスを指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
コマンドレットを実行する前に確認メッセージを表示します。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
WMI コンテキストをハッシュ テーブルとして指定します。 これは、カスタマイズされた操作のコンテキスト情報をサポートする WMI プロバイダーに渡される名前と値のペアの一覧です。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
最も一般的なオプションは です Fast
。
クエリ オプションを指定します。
None
:既定Lazy
: 既定では、コマンドレットは遅延プロパティを読み込みます。Fast
: 遅延プロパティを読み込まないようにするには、このオプションを使用します。 このオプションは、一部のクラスの結果をより迅速に返すことができます。ExpectResults
ExpectResultsThrowException
&: クエリで結果が返されない場合は、例外をスローします。 この例外は通常、スクリプトを終了します。FastExpectResults
LazyExpectResults
&: これらのオプションは と を組み合わせたFast
ものLazy
ExpectResults
になります。ExpectResultsSoftFail
: クエリから結果が返されない場合は、エラーを出力しますが、スクリプトは終了しません。
遅延プロパティの詳細については、「遅延プロパティのConfiguration Manager」を参照してください。
次の値は、内部でのみ使用されます。
- 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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
WMI クエリ言語 (WQL) ステートメントを指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Search
SMSProviderSearch オブジェクトを指定します。
Type: | SmsProviderSearch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
None
出力
IResultObject[]
IResultObject
関連リンク
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示