квалификаторы контекста Configuration Manager
Объекты контекста используются в Configuration Manager для предоставления дополнительных сведений поставщику SMS. Как правило, квалификаторы контекста используются для предоставления поставщику SMS контекстной информации, например имени приложения. Квалификаторы контекста можно использовать при подключении к поставщику SMS и с отдельными объектами поставщика SMS.
Управляемый код
При использовании управляемых библиотек поставщика SMS используйте свойство ConnectionManagerBase.Context , чтобы указать квалификаторы контекста. Дополнительные сведения см. в статье Добавление квалификатора контекста Configuration Manager с помощью управляемого кода.
VBScript
При использовании VBScript используется набор интерфейсов SWBemNamedValue , чтобы указать квалификаторы контекста в качестве коллекции именованных объектов значений. Дополнительные сведения см. в разделе Добавление квалификатора контекста Configuration Manager с помощью WMI.
Квалификаторы контекста
В следующей таблице содержатся квалификаторы контекста (именованные значения), используемые поставщиком SMS. Большинство квалификаторов, таких как SessionHandle
, используются только с определенными функциональными областями поставщика SMS, но LocaleID
, MachineName
и ApplicationName
предназначены для использования приложения.
Квалификатор контекста | Описание |
---|---|
ApplicationName |
Идентифицирует приложение, которое произвело вызов. |
ContextHandle |
Определяет, где поставщик SMS сохранил кэшированные квалификаторы контекста. |
InstanceCount |
Ограничивает количество экземпляров, возвращаемых execQuery и CreateInstanceEnum. |
LimitToCollectionIDs |
Ограничивает результаты запроса ресурсов членами именованных коллекций. |
LocaleID |
Определяет кодовую страницу для использования. |
MachineName |
Определяет, на каком компьютере выполняется приложение. |
QueryQualifiers |
Возвращает битовые флаги SecurityVerbs при выполнении запросов к защищенным объектам. |
SessionHandle |
Идентифицирует копию файла элемента управления сайтом приложения для Configuration Manager. |
ApplicationName
Квалификатор ApplicationName
контекста — это строковое значение, идентифицирующее имя приложения, которое произвело вызов. Необходимо указать ApplicationName
для приложения, так как оно используется для аудита. Если не указать имя приложения, используется значение Unknown. Значение необходимо указать ApplicationName
при вызове любого из методов сообщения о состоянии вызова, например SMS_StatusMessage::RaiseErrorStatusMsg, в противном случае вызов завершится ошибкой.
ContextHandle
Квалификатор ContextHandle
контекста — это строковое значение, указывающее, где поставщик SMS сохранил кэшированные квалификаторы контекста. Управляемый поставщик SMS управляет передачей данных. При использовании VBScript можно выполнить следующие действия, чтобы уменьшить объем данных, передаваемых по сети.
Создайте набор значений SWBemNamedValue .
Добавьте квалификаторы в объект контекста. Дополнительные сведения см. в разделе Добавление квалификатора контекста Configuration Manager с помощью WMI.
Вызовите метод GetContextHandle , чтобы кэшировать квалификаторы на сервере. Поставщик SMS кэширует объект контекста, который передается в качестве параметра ExecMethod при вызове Метода GetContextHandle.
Удалите все квалификаторы из объекта контекста.
Добавьте квалификатор
ContextHandle
и значение в объект контекста.Передайте объект контекста во всех вызовах IWbemServices.
Перед выходом из приложения необходимо вызвать метод ClearContextHandle , чтобы удалить кэшированные квалификаторы. Вы можете создать любое количество
ContextHandle
значений, каждое из которых предоставляет различные сведения для приложения.
Примечание.
После кэширования квалификаторов контекста можно переопределить кэшированные значения, добавив те же квалификаторы контекста с разными значениями в объект контекста.
InstanceCount
Квалификатор InstanceCount
контекста — это целочисленное значение, которое используется для ограничения числа экземпляров, возвращаемых методами ExecQuery и CreateInstanceEnum . Задается InstanceCount
максимальное число экземпляров, возвращаемых запросом или перечислителем. Например, при установке значения InstanceCount
10 возвращается не более 10 экземпляров.
LimitToCollectionIDs
Квалификатор LimitToCollectionIDs
контекста — это массив строк, содержащий список значений CollectionID
. В настоящее время можно указать только одно CollectionID
значение. Этот квалификатор используется для ограничения результатов запроса ресурса членами именованной коллекции. Запрос к ресурсу — это запрос, включающий классы, производные от SMS_Resource или SMS_Group.
Пользователь должен иметь разрешения на чтение ресурса экземпляра для коллекции, к которой принадлежит ресурс. Необходимо использовать ограничение коллекции, если у пользователя нет прав на доступ к ресурсам класса для коллекций; В противном случае данные не возвращаются. Для SMS 2.0 с пакетом обновления 1 (SP1) и более поздних версий это ограничение применяется только к классам, производным от SMS_Group.
Этот квалификатор нельзя использовать при запросе коллекций.
LocaleID
Квалификатор LocaleID
контекста — это строковое значение, которое принимает шестнадцатеричное или десятичное значение в форме MS\x, где x — это идентификатор языкового стандарта. Например, можно ввести значение на английском языке LocaleID
ms\0x0409 или ms\1033. Поставщик SMS принимает LocaleID
только значения, использующие формат Майкрософт. Список можно найти в списке языковыхlocale IDs
стандартов, назначенных Майкрософт.
Если вам нужен языковой стандарт для не сша установок, его можно получить из свойства класса LocaleID
WMI сервера SMS_Identification.
Machinename
Квалификатор MachineName
контекста — это строковое значение, указывающее, на каком компьютере выполняется приложение. Необходимо указать MachineName
для приложения, так как оно используется для аудита. Если не указать имя компьютера, используется значение Unknown. При вызове любого из методов сообщения о состоянии вызова, например SMS_StatusMessage::RaiseRawStatusMsg, необходимо указать значение MachineName, в противном случае вызов завершится ошибкой.
QueryQualifiers
Квалификатор QueryQualifiers
контекста — это логическое значение, которое используется для возврата битовых флагов SecurityVerbs при выполнении запросов к защищенным объектам, таким как SMS_Site или SMS_Package. Обратите внимание, что использование QueryQualifiers
при запросе незащищенных объектов приводит к ошибке. По умолчанию флаги SecurityVerbs не возвращаются с запросом. Необходимо создать этот квалификатор и присвоить ей значение , true
если вы хотите вернуть флаги. Не создавать QueryQualifiers
— это то же самое, что задать для параметра значение false
.
SessionHandle
Квалификатор SessionHandle
контекста — это строковое значение, возвращаемое в качестве параметра out метода GetSessionHandle. Строка представляет собой уникальный идентификатор GUID, который определяет копию файла элемента управления сайтом для Configuration Manager. Этот механизм следует использовать для изменения файла элемента управления сайтом и уменьшения конфликтов данных с другими приложениями, которые одновременно изменяют файл элемента управления сайтом. Если не указать значение, приложение изменяет глобальную копию файла элемента управления сайтом SessionHandle
, которая не имеет защиты от приложений, перезаписывая данные друг друга.
Примечание.
Если вы используете управляемый поставщик SMS, управление сеансами управления сайтом осуществляется за вас.
См. также
Добавление квалификатора контекста Configuration Manager с помощью управляемого кода
Добавление квалификатора контекста Configuration Manager с помощью WMI
Основы поставщика SMS