在 Configuration Manager 中,會使用內容物件來為 SMS 提供者提供其他資訊。 一般而言,您會使用內容限定詞來提供 SMS 提供者內容相關資訊,例如應用程式的名稱。 當您連線到 SMS 提供者及個別 SMS 提供者物件時,可以使用內容限定詞。
Managed 程式碼
使用受管理的 SMS 提供者程式庫時,您可以使用 ConnectionManagerBase.Context 屬性來指定內容限定詞。 如需詳細資訊,請參閱如何使用 [使用 Managed 程式碼] 新增 Configuration Manager 內容限定詞。
VBScript
使用 VBScript 時,您可以使用 SWBemNamedValue 介面集將內容限定詞指定為具名值物件的集合。 如需詳細資訊,請參閱如何使用 WMI 新增 Configuration Manager 內容限定詞。
內容限定詞
下表包含 SMS 提供者所使用的內容限定詞 (具名值) 。 大部分的限定詞 ,例如 SessionHandle,只會搭配 SMS 提供者的特定功能區域使用,但 LocaleID、 MachineName和 ApplicationName 則僅供應用程式使用。
| 內容限定詞 | 描述 |
|---|---|
ApplicationName |
識別進行呼叫的應用程式。 |
ContextHandle |
識別 SMS 提供者已儲存快取內容限定詞的位置。 |
InstanceCount |
限制從 ExecQuery 和 CreateInstanceEnum 傳回的執行個體數目。 |
LimitToCollectionIDs |
將資源查詢的結果限制為具名集合的成員。 |
LocaleID |
識別要使用的字碼頁。 |
MachineName |
識別正在執行應用程式的電腦。 |
QueryQualifiers |
當您對受保護的物件執行查詢時,會傳回 SecurityVerbs 位元旗標。 |
SessionHandle |
在 Configuration Manager 中識別應用程式的網站控制檔案複本。 |
ApplicationName
ApplicationName內容限定詞是一個字串值,用於識別進行呼叫的應用程式名稱。 您應該為應用程式指定 ApplicationName ,因為它用於稽核。 如果不提供應用程式的名稱,則會使用 [未知] 值。 當您呼叫任何引發狀態訊息方法時, ApplicationName 您必須提供值,例如 SMS_StatusMessage::RaiseErrorStatusMsg,否則呼叫將會失敗。
ContextHandle
ContextHandle內容限定詞是一個字串值,用於識別 SMS 提供者儲存快取內容限定詞的位置。 受管理的簡訊提供者會管理資料傳輸。 使用 VBScript 時,您可以使用下列步驟來減少透過網路傳遞的資料量。
建立 SWBemNamedValue 值集。
將您的限定詞新增至內容物件。 如需詳細資訊,請參閱如何使用 WMI 新增 Configuration Manager 內容限定詞。
呼叫 GetContextHandle 方法,在伺服器上快取限定詞。 當您呼叫 GetContextHandle 時,SMS 提供者會快取您作為 ExecMethod 參數傳遞的內容物件。
移除內容物件中的所有限定詞。
將限定詞和值新增至
ContextHandle內容物件。將所有呼叫中的內容物件傳遞至 IWbemServices。
您必須先呼叫 ClearContextHandle 方法來移除快取的限定詞,才能結束應用程式。 您可以建立任意數量
ContextHandle的值,每個值都會為您的應用程式提供不同的資訊。
注意事項
快取內容限定詞之後,您可以將具有不同值的相同內容限定詞新增至內容物件,以覆寫快取的值。
InstanceCount
InstanceCount內容限定詞是一個整數值,用來限制從 ExecQuery 和 CreateInstanceEnum 方法傳回的執行個體數目。 您可以設定 InstanceCount 等於要從查詢或列舉值傳回的執行個體數目上限。 例如,設定 InstanceCount 為 10 最多會傳回 10 個執行個體。
LimitToCollectionIDs
LimitToCollectionIDs內容限定詞是包含值清單CollectionID的字串陣列。 目前,您只能指定一個 CollectionID 值。 您可以使用這個限定詞,將資源查詢的結果限制為具名集合的成員。 資源查詢包含衍生自 SMS_Resource 或 SMS_Group 類別的查詢。
使用者必須擁有資源所屬集合的執行個體讀取資源權限。 當使用者沒有集合的類別讀取資源權限時,您必須使用集合限制;否則,不會傳回任何資料。 對於 Service Pack 1 和更新版本的 SMS 2.0,此限制僅適用於衍生自 SMS_Group 的類別。
查詢集合時,您無法使用此限定詞。
LocaleID
LocaleID內容限定詞是字串值,它接受十六進位值或十進位值,格式為 MS\x,其中 x 是地區設定識別碼。 例如,您可以輸入英文 LocaleID 值為 ms\0x0409 或 ms\1033。 SMS 提供者只 LocaleID 接受使用 Microsoft 格式的值。 您可以找到由 locale IDsMicrosoft 指派的地區設定識別碼清單。
如果您需要非美國的地區設定安裝時,您可以從 SMS_Identification Server WMI 類別LocaleID 屬性中取得它。
MachineName
MachineName內容限定詞是一個字串值,用於識別哪台電腦正在執行應用程式。 您應該為應用程式指定 MachineName ,因為它用於稽核。 如果沒有提供電腦名稱,則會使用 [未知] 值。 當您呼叫任何引發狀態訊息方法時,您必須提供 MachineName 值,例如 SMS_StatusMessage::RaiseRawStatusMsg,否則呼叫將會失敗。
QueryQualifiers
QueryQualifiers內容限定詞是一個布林值,當您對受保護的物件(例如 SMS_Site 或 SMS_Package)執行查詢時,用來傳回 SecurityVerbs 位元旗標。 請注意,查詢不安全的物件時使用 會產生 QueryQualifiers 錯誤。 根據預設,SecurityVerbs 旗標不會隨查詢一起傳回。 您必須建立此限定詞,並將其值 true 設定為:如果您想要傳回旗標。 不建立 QueryQualifiers 等同於將其值設為 false。
SessionHandle
SessionHandle內容限定詞是字串值,會以 GetSessionHandle 方法的輸出參數傳回。 字串是唯一的 GUID,用於識別應用程式對 Configuration Manager 之網站控制檔案的複本。 您應該使用此機制來修改網站控制檔,並減少與同時修改網站控制檔的其他應用程式的資料衝突。 如果不提供 SessionHandle 值,則應用程式會修改網站控制檔案的全域複本,該檔案沒有保護,不會防止應用程式覆寫彼此的資料。
注意事項
如果您使用受管理的 SMS Provider,則網站控制檔案工作階段管理會為您管理。
另請參閱
如何使用 Managed 程式碼新增 Configuration Manager 內容限定詞如何使用 WMI 新增Configuration Manager內容限定詞SMS 提供者基礎