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 クエリの例」を参照してください。
注:
PS XYZ:\>
など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。
例
例 1: 特定のバージョンのサーバーに対する新しいクエリを作成する
この例では、Microsoft Windows Server 2012 で始まる OS キャプションを持つクライアントを検索する Server 2016 という名前の新しいクエリを作成します。 Name、Last logon ユーザー名、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 クラスのシャーシタイププロパティの特定の値を持つデバイスを検索するデスクトップ デバイスという名前の新しいクエリを作成します。 複数のプロパティが返され、特定のコレクションによって制限されます。
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
オプションのコメントを指定して、サイト内のクエリをさらに識別します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認メッセージを表示します。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Expression
結果に表示する属性と、結果を制限する条件を定義する WQL ステートメントを指定します。
WQL ステートメントには二重引用符 ("
) が含まれることがよくあります。そのため、このパラメーターの値を単一引用符 ('
) で囲まれた文字列として設定します。
その他の例については、「 WQL クエリの例」を参照してください。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-LimitToCollectionId
このクエリのコレクション制限を構成する方法を指定します。
-
コレクションに制限されない: このパラメーターの値を空の文字列 (
""
) に設定します。$null
組み込み変数は使用しないでください。 -
コレクションへの制限: コレクションの ID を指定します。 たとえば、すべてのデスクトップクライアントとサーバークライアントコレクションの
"SMSDM003"
。 -
収集のプロンプト: このパラメーターの値を
"<Prompt>"
に設定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
クエリの名前を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TargetClassName
クエリで返すオブジェクト クラスの名前を指定します。 使用可能なオブジェクトの種類は多数あります。 次の表に、Configuration Manager コンソールの説明を含む一般的なクラス名をいくつか示します。
クラス名 | 説明 |
---|---|
SMS_R_System |
システム リソース |
SMS_Program |
プログラム |
SMS_R_UserGroup |
ユーザー グループ リソース |
SMS_R_User |
User リソース |
SMS_SiteAndSubsites |
サイトとサブサイト |
SMS_R_UnknownSystem |
不明なコンピューター |
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
IResultObject