共用方式為


New-CMQuery

建立Configuration Manager查詢。

語法

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

Description

使用此 Cmdlet 在 Configuration Manager 中建立查詢。

Configuration Manager查詢會定義 WMI 查詢語言 (WQL) 運算式,以根據您提供的準則從月臺資料庫取得資訊。 WQL 類似于 SQL,但仍會通過 SMS 提供者,而不是直接進入資料庫。 因此,WQL 仍然遵守您的角色型存取設定。

查詢可以傳回大部分類型的Configuration Manager物件,包括電腦、網站、集合、應用程式和清查資料。 如需詳細資訊,請參閱 Configuration Manager 中的查詢簡介

根據預設,Configuration Manager包含數個查詢。 您可以使用 Get-CMQuery Cmdlet 來檢閱預設查詢。 如需 WQL 運算式的更多範例,請參閱 範例 WQL 查詢

注意事項

從Configuration Manager月臺磁片磁碟機執行 Configuration Manager Cmdlet,例如 PS XYZ:\> 。 如需詳細資訊,請 參閱開始使用

範例

範例 1:為特定版本的伺服器建立新的查詢

此範例會建立名為Server 2016的新查詢,以搜尋具有以Microsoft Windows Server 2012開頭之作業系統標題的用戶端。 它會傳回下列三個屬性: 名稱上次登入使用者名稱OS 標題

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:建立桌面裝置的查詢

此範例會建立名為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

指定選擇性批註,以進一步識別網站中的查詢。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Expression

指定 WQL 語句,定義要在結果中顯示的屬性,以及限制結果的準則。

WQL 語句通常會在) (" 包含雙引號,因此請將此參數的值設定為以單引號括住的字串, (') 。

如需更多範例,請 參閱範例 WQL 查詢

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-LimitToCollectionId

指定如何設定此查詢的集合限制:

  • 不限集合:將此參數的值設定為空白字串 ("") 。 請勿使用 $null 內建變數。
  • 集合限制:指定集合的識別碼。 例如, "SMSDM003" 針對 [所有桌面] 和 [伺服器用戶端] 集合。
  • 提示收集:將此參數的值設定為 "<Prompt>"
類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Name

指定查詢的名稱。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-TargetClassName

指定您想要查詢傳回的物件類別名稱。 有許多可用的物件類型。 下表列出數個通用類別名稱,以及來自 Configuration Manager 主控台的描述:

類別名稱 描述
SMS_R_System 系統資源
SMS_Program 程式
SMS_R_UserGroup 使用者群組資源
SMS_R_User 使用者資源
SMS_SiteAndSubsites 網站和子網站
SMS_R_UnknownSystem 未知的電腦
類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 時會發生什麼情況。 Cmdlet 不會執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

輸出

IResultObject