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

パラメーター

-ClassName

クエリを実行する Configuration Manager WMI クラスを指定します。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

コマンドレットを実行する前に確認メッセージを表示します。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Context

WMI コンテキストをハッシュ テーブルとして指定します。 これは、カスタマイズされた操作のコンテキスト情報をサポートする WMI プロバイダーに渡される名前と値のペアの一覧です。

Type:Hashtable
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisableWildcardHandling

このパラメーターは、ワイルドカード文字をリテラル文字値として扱います。 ForceWildcardHandling と組み合わせは使用できない

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Option

最も一般的なオプションは Fast です。

クエリ オプションを指定します。

  • None: 既定
  • Lazy: 既定では、コマンドレットは遅延プロパティを読み込む。
  • Fast: 遅延プロパティを読み込まない場合は、このオプションを使用します。 このオプションは、一部のクラスの結果を迅速に返す場合があります。
  • ExpectResults & ExpectResultsThrowException: クエリが結果を返さない場合は、例外をスローします。 通常、この例外はスクリプトを終了します。
  • FastExpectResults & LazyExpectResults: これらのオプションを組み Fast 合わせて Lazy ExpectResults 使用します。
  • 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
-Query

WMI クエリ言語 (WQL) ステートメントを指定します。

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Search

SMSProviderSearch オブジェクトを指定します。

Type:SmsProviderSearch
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

入力

なし

出力

IResultObject[]

IResultObject