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
, MachineName
e 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.
Criar conjunto de valores SWBemNamedValue .
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.
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.
Remova todas as qualificações do objeto de contexto.
Adicione o qualificador e o
ContextHandle
valor ao objeto de contexto.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 IDs
IDs locais atribuídas por Microsoft.
Se você precisar da localidade para não-EUA. instalações, você pode obtê-lo na propriedade classe LocaleID
WMI 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