Qualificadores de contexto Configuration Manager

Objetos de contexto são usados, em Configuration Manager, para fornecer informações adicionais ao Provedor de SMS. Normalmente, você usa qualificadores de contexto para fornecer informações contextuais do Provedor de SMS, como o nome do aplicativo. Você pode usar qualificadores de contexto ao se conectar ao Provedor de SMS e com objetos individuais do Provedor de SMS.

Código gerenciado

Ao usar as bibliotecas gerenciadas do Provedor de SMS, você usa a propriedade ConnectionManagerBase.Context para especificar qualificadores de contexto. Para obter mais informações, consulte Como adicionar um qualificador de contexto de Configuration Manager usando código gerenciado.

VBScript

Ao usar o VBScript, você usa o conjunto de interface SWBemNamedValue para especificar qualificadores de contexto como uma coleção de objetos de valor nomeados. Para obter mais informações, consulte Como adicionar um qualificador de contexto de Configuration Manager usando o WMI.

Qualificadores de contexto

A tabela a seguir contém as qualificatórias de contexto (valores nomeados) que são usadas pelo Provedor de SMS. A maioria das qualificatórias, como SessionHandle, são usadas apenas com áreas funcionais específicas do Provedor de SMS; mas LocaleID, MachineNamee ApplicationName são para uso do aplicativo.

Qualificação de contexto Descrição
ApplicationName Identifica o aplicativo que fez a chamada.
ContextHandle Identifica onde o Provedor de SMS armazenou suas qualificações de contexto armazenadas em cache.
InstanceCount Limita o número de instâncias retornadas de ExecQuery e CreateInstanceEnum.
LimitToCollectionIDs Limita os resultados de uma consulta de recurso aos membros das coleções nomeadas.
LocaleID Identifica a página de código a ser usada.
MachineName Identifica qual computador está executando o aplicativo.
QueryQualifiers Retorna os sinalizadores de bit SecurityVerbs ao executar consultas em objetos protegidos.
SessionHandle Identifica a cópia do aplicativo do arquivo de controle do site para Configuration Manager.

ApplicationName

O ApplicationName qualificador de contexto é um valor de cadeia de caracteres que identifica o nome do aplicativo que fez a chamada. Você deve especificar ApplicationName para seu aplicativo porque ele é usado para auditoria. Se você não fornecer o nome do aplicativo, um valor de Desconhecido será usado. Você deve fornecer o ApplicationName valor quando chamar qualquer um dos métodos de mensagem de status de aumento, como SMS_StatusMessage::RaiseErrorStatusMsg ou a chamada falhará.

ContextHandle

O ContextHandle qualificador de contexto é um valor de cadeia de caracteres que identifica onde o Provedor de SMS armazenou seus qualificadores de contexto armazenados em cache. O Provedor de SMS gerenciado gerencia a transferência de dados. Ao usar o VBScript, você pode usar as etapas a seguir para reduzir a quantidade de dados passados pela rede.

  1. Criar conjunto de valores SWBemNamedValue .

  2. Adicione suas qualificações ao objeto de contexto. Para obter mais informações, consulte Como adicionar um qualificador de contexto de Configuration Manager usando o WMI.

  3. Chame o método GetContextHandle para armazenar em cache seus qualificadores no servidor. O Provedor de SMS armazena em cache o objeto de contexto que você passa como um parâmetro do ExecMethod quando você chama GetContextHandle.

  4. Remova todas as qualificações do objeto de contexto.

  5. Adicione o qualificador e o ContextHandle valor ao objeto de contexto.

  6. Passe o objeto de contexto em todas as chamadas para IWbemServices.

    Você deve chamar o método ClearContextHandle para remover os qualificadores armazenados em cache antes de sair do aplicativo. Você pode criar quantos ContextHandle valores desejar, com cada um fornecendo informações variadas para seu aplicativo.

Observação

Depois de armazenar em cache os qualificadores de contexto, você pode substituir os valores armazenados em cache adicionando os mesmos qualificadores de contexto, com valores diferentes, ao objeto de contexto.

InstanceCount

O InstanceCount qualificador de contexto é um valor inteiro que é usado para limitar o número de instâncias retornadas dos métodos ExecQuery e CreateInstanceEnum . Você define InstanceCount igual ao número máximo de instâncias que deseja retornar da consulta ou do enumerador. Por exemplo, definir InstanceCount como 10 retorna, no máximo, 10 instâncias.

LimitToCollectionIDs

O LimitToCollectionIDs qualificador de contexto é uma matriz de cadeia de caracteres que contém uma lista de CollectionID valores. Atualmente, você pode especificar apenas um CollectionID valor. Você usa esse qualificador para limitar os resultados de uma consulta de recurso aos membros da coleção nomeada. Uma consulta de recurso é uma consulta que inclui classes derivadas de SMS_Resource ou SMS_Group.

O usuário deve ter permissões de recurso de leitura de instância para a coleção à qual o recurso pertence. Você deve usar a limitação de coleção quando o usuário não tiver direitos de recurso de leitura de classe para coleções; caso contrário, nenhum dado é retornado. Para SMS 2.0 com o Service Pack 1 e versões posteriores, essa restrição se aplica apenas a classes derivadas de SMS_Group.

Você não pode usar esse qualificador ao consultar coleções.

LocaleID

O LocaleID qualificador de contexto é um valor de cadeia de caracteres que aceita um valor hexadecimal ou um valor decimal no formulário MS\x, em que x é a ID da localidade. Por exemplo, você pode inserir o valor em inglês LocaleID como ms\0x0409 ou ms\1033. O Provedor de SMS aceita LocaleID apenas valores que usam o formato Microsoft. Você pode encontrar uma lista de locale IDsIDs locais atribuídas por Microsoft.

Se você precisar da localidade para não-EUA. instalações, você pode obtê-lo na propriedade classe LocaleIDWMI do servidor SMS_Identification.

Machinename

O MachineName qualificador de contexto é um valor de cadeia de caracteres que identifica qual computador está executando o aplicativo. Você deve especificar MachineName para seu aplicativo porque ele é usado para auditoria. Se você não fornecer o nome do computador, um valor de Desconhecido será usado. Você deve fornecer o valor MachineName quando chamar qualquer um dos métodos de mensagem de status de aumento, como SMS_StatusMessage::RaiseRawStatusMsg ou a chamada falhará.

QueryQualifiers

O QueryQualifiers qualificador de contexto é um valor booliano que é usado para retornar os sinalizadores de bit SecurityVerbs quando você executa consultas em objetos protegidos, como SMS_Site ou SMS_Package. Observe que usar QueryQualifiers ao consultar objetos não seguros gera um erro. Por padrão, os sinalizadores SecurityVerbs não são retornados com a consulta. Você deve criar esse qualificador e definir seu valor como true se desejar que os sinalizadores sejam retornados. Não criar QueryQualifiers é o mesmo que definir seu valor como false.

SessionHandle

O SessionHandle qualificador de contexto é um valor de cadeia de caracteres que é retornado como um parâmetro fora do método GetSessionHandle. A cadeia de caracteres é um GUID exclusivo que identifica a cópia do arquivo de controle do site do aplicativo para Configuration Manager. Você deve usar esse mecanismo para modificar o arquivo de controle do site e reduzir colisões de dados com outros aplicativos que estão modificando o arquivo de controle do site ao mesmo tempo. Se você não fornecer um SessionHandle valor, seu aplicativo modificará a cópia global do arquivo de controle do site, que não tem proteção contra aplicativos que substituem os dados uns dos outros.

Observação

Se você estiver usando o Provedor de SMS gerenciado, o gerenciamento de sessão de controle de site será gerenciado para você.

Confira também

Como adicionar um qualificador de contexto Configuration Manager usando código gerenciado
Como adicionar um qualificador de contexto de Configuration Manager usando o WMI
Fundamentos do Provedor de SMS