Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para ligar a um Fornecedor de SMS, utilize WqlConnectionManager.Connect. Após a ligação, o WqlConnectionManager.Connect tem métodos para consultar, criar, eliminar e, de outra forma, utilizar Configuration Manager objetos do Windows Management Instrumentation (WMI).
Observação
WqlConnectionManager.Connect é uma derivação específica da WMI de ConnectionManagerBase.
Se estiver a ligar a um Fornecedor de SMS local, não fornecerá credenciais de utilizador. Se estiver a ligar a um Fornecedor remoto de SMS, não precisa de fornecer credenciais de utilizador se o contexto de utilizador/computador atual tiver permissões no Fornecedor remoto de SMS.
Se não tiver privilégios de acesso no Fornecedor de SMS remoto ou se quiser utilizar uma conta de utilizador diferente, tem de fornecer credenciais de utilizador para uma conta de utilizador que tenha privilégios de acesso.
WQLConnectionManager.Connection requer um objeto SmsNamedValuesDictionary . Isto pode ser utilizado para armazenar informações em cache, como o nome do computador.
É pré-preenchido com muitos valores que podem ser utilizados na sua aplicação.
| Valor | Descrição. |
|---|---|
| ProviderLocation | A localização do fornecedor. Por exemplo, \\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX". |
| ProviderMachineName | O computador do fornecedor. Por exemplo, \\ComputerName. |
| Conexão | O caminho da ligação. Por exemplo, \\ComputerName\root\sms\site_XXX. |
| ConnectedSiteCode | O código do site do Configuration Manager site ao qual a ligação está ligada. Por exemplo, XXX. |
| ServerName | O nome do computador, por exemplo, COMPUTERNAME. |
| Nome do Site | O Configuration Manager código do site. Por exemplo, Site Central. |
| ConnectedServerVersion | A versão do servidor ligado. Por exemplo, 4.00.5830.0000 |
| BuildNumber | O Configuration Manager número de compilação da instalação. Por exemplo, 5830. |
Observação
O objeto SmsNamedValuesDictionary não é a informação de qualificação de contexto transmitida ao fornecedor. Para obter mais informações, veja How to Add a Configuration Manager Context Qualifier by Using Managed Code (Como Adicionar um Qualificador de Contexto Configuration Manager Através do Código Gerido).
Para ligar ao Fornecedor de SMS
Crie um SmsNamedValuesDictionaryObject.
Crie uma instância da classe WqlConnectionManager e chame o método [Connect] ao transmitir o nome do servidor e, se o nome do servidor for remoto, o nome de utilizador e a palavra-passe.
Utilize o objeto WqlConnectionManager para ligar ao fornecedor.
Exemplo
O seguinte método de exemplo liga-se ao Fornecedor de SMS num computador local ou remoto. Se servername for remoto, o método utiliza o nome de utilizador e a palavra-passe fornecidos para ligar ao computador remoto. Se quiser utilizar o contexto de utilizador atual, para a ligação remota, altere o código para que não transmita o nome de utilizador e a palavra-passe. Se a ligação for bem-sucedida, é devolvido um objeto WqlConnectionManager .
Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.
public WqlConnectionManager Connect(string serverName, string userName, string userPassword)
{
try
{
SmsNamedValuesDictionary namedValues = new SmsNamedValuesDictionary();
WqlConnectionManager connection = new WqlConnectionManager(namedValues);
if (System.Net.Dns.GetHostName().ToUpper() == serverName.ToUpper())
{
// Connect to local computer.
connection.Connect(serverName);
}
else
{
// Connect to remote computer.
connection.Connect(serverName, userName, userPassword);
}
return connection;
}
catch (SmsException e)
{
Console.WriteLine("Failed to Connect. Error: " + e.Message);
return null;
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("Failed to authenticate. Error:" + e.Message);
return null;
}
}
Compilando o código
Namespaces
System
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Microsoft.ManagementConsole
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Microsoft.ManagementConsole
Programação robusta
As Configuration Manager exceções que podem ser geradas são SmsConnectionException e SmsQueryException. Estes podem ser capturados em conjunto com SmsException.
Segurança do .NET Framework
UnauthorizedAccessException é gerado quando as credenciais erradas são transmitidas para WqlConnectionManager.Connect.
Confira também
Noções básicas do Fornecedor de SMSComo Adicionar um Qualificador de Contexto Configuration Manager ComObjetos de Código Gerido