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 的新查詢,以搜尋具有以 windows Server 2012 Microsoft開頭操作系統標題的用戶端。 它會傳回下列三個屬性: 名稱、 上次登入用戶名稱和 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