New-CMQuery

Configuration Manager クエリを作成します。

構文

New-CMQuery
   [-Comment <String>]
   -Expression <String>
   [-LimitToCollectionId <String>]
   -Name <String>
   [-TargetClassName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

Configuration Manager でクエリを作成するには、このコマンドレットを使用します。

Configuration Manager クエリは、指定した条件に基づいてサイト データベースから情報を取得する WMI クエリ言語 (WQL) 式を定義します。 WQL は、データベースSQL似ていますが、データベースに直接ではなく SMS プロバイダーを経由します。 そのため、WQL は役割ベースのアクセス構成を引き続き適用します。

クエリは、コンピューター、サイト、コレクション、アプリケーション、インベントリ データなど、ほとんどの種類の Configuration Manager オブジェクトを返します。 詳細については 、「Configuration Manager でのクエリの概要」を参照してください

既定では、Configuration Manager にはいくつかのクエリが含まれています。 Get-CMQuery コマンドレットを使用して、既定のクエリを確認できます。 WQL 式のその他の例については 、「WQL クエリの例」を参照してください

注意

Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します PS XYZ:\> 。 詳細については 、「Getting started」を参照してください

例 1: 特定のバージョンのサーバーの新しいクエリを作成する

次の使用例は 、Server 2016という名前の新しいクエリを作成し、Microsoft サーバーから始まる OS キャプションを使用してクライアントを検索Windows Server 2012。 名前、最後のログオン ユーザー名****、OS キャプションの 3つのプロパティを****返します

New-CMQuery -Name "Server 2016" -Expression 'select SMS_R_System.Name, SMS_R_System.LastLogonUserName, SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"' -TargetClassName "SMS_R_System" -LimitToCollectionId "SMS00001"

例 2: デスクトップ デバイスのクエリを作成する

この例では 、System EnclosureクラスのChassis types プロパティの特定の値を持つデバイスを検索する 、Desktop デバイスという名前の新しいクエリを作成します。 複数のプロパティを返し、特定のコレクションによって制限されます。

New-CMQuery -Name "Desktop devices" -Expression 'select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "3", "4", "5","6", "7", "15","16")' -TargetClassName "SMS_R_System" -LimitToCollectionId "XYZ000049"

パラメーター

-Comment

オプションのコメントを指定して、サイト内のクエリをさらに識別します。

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

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

Type:SwitchParameter
Aliases:cf
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
-Expression

結果に表示する属性と結果を制限する条件を定義する WQL ステートメントを指定します。

WQL ステートメントには、多くの場合、二重引用符 ( ) が含まれるので、このパラメーターの値を単一引用符 ( ) で囲まれた文字列 " として設定します '

その他の例については、「 サンプル WQL クエリ」を参照してください

Type:String
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
-LimitToCollectionId

このクエリのコレクション制限を構成する方法を指定します。

  • コレクションに限定されない: このパラメーターの値を空白の文字列 ( ) に設定 "" します。 組み込みの $null 変数を使用しない。
  • コレクションの制限: コレクションの ID を指定します。 たとえば、[すべての "SMSDM003" デスクトップと サーバー クライアント ] コレクションの場合です。
  • コレクションのプロンプト: このパラメーターの値をに設定します "<Prompt>"
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Name

クエリの名前を指定します。

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

クエリで返すオブジェクト クラスの名前を指定します。 使用可能なオブジェクトの種類は多数ある。 次の表に、Configuration Manager コンソールの説明を含むいくつかの一般的なクラス名を示します。

クラス名 説明
SMS_R_System システム リソース
SMS_Program プログラム
SMS_R_UserGroup ユーザー グループ リソース
SMS_R_User User リソース
SMS_SiteAndSubsites サイトとサブサイト
SMS_R_UnknownSystem 不明なコンピューター
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

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

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

入力

なし

出力

IResultObject