Conexión a un proveedor de SMS en Configuration Manager mediante código administrado
Para conectarse a un proveedor de SMS, use WqlConnectionManager.Connect. Una vez conectado, WqlConnectionManager.Connect tiene métodos para consultar, crear, eliminar y usar Configuration Manager objetos de Instrumental de administración de Windows (WMI).
Nota:
WqlConnectionManager.Connect es una derivación específica de WMI de ConnectionManagerBase.
Si se conecta a un proveedor de SMS local, no proporciona credenciales de usuario. Si se conecta a un proveedor de SMS remoto, no es necesario proporcionar credenciales de usuario si el contexto de usuario o equipo actual tiene permisos en el proveedor de SMS remoto.
Si no tiene privilegios de acceso en el proveedor de SMS remoto o si desea usar una cuenta de usuario diferente, debe proporcionar credenciales de usuario para una cuenta de usuario que tenga privilegios de acceso.
WQLConnectionManager.Connection requiere un objeto SmsNamedValuesDictionary . Esto se puede usar para almacenar información almacenada en caché, como el nombre del equipo.
Se rellena previamente con una serie de valores que se pueden usar en la aplicación.
Valor | Descripción. |
---|---|
ProviderLocation | Ubicación del proveedor. Por ejemplo, \\<NombreDeEquipo>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX". |
ProviderMachineName | Equipo del proveedor. Por ejemplo, \\NombreDeEquipo. |
Connection | Ruta de acceso de conexión. Por ejemplo, \\NombreDeEquipo\raíz\sms\site_XXX. |
ConnectedSiteCode | Código de sitio del sitio Configuration Manager al que está conectada la conexión. Por ejemplo, XXX. |
ServerName | El nombre del equipo, por ejemplo, COMPUTERNAME. |
SiteName | Código de sitio de Configuration Manager. Por ejemplo, Sitio central. |
ConnectedServerVersion | Versión del servidor conectado. Por ejemplo, 4.00.5830.0000 |
BuildNumber | Número de compilación de instalación de Configuration Manager. Por ejemplo, 5830. |
Nota:
El objeto SmsNamedValuesDictionary no es la información de calificador de contexto que se pasa al proveedor. Para obtener más información, vea Cómo agregar un calificador de contexto de Configuration Manager mediante código administrado.
Para conectarse al proveedor de SMS
Cree un SmsNamedValuesDictionaryObject.
Cree una instancia de la clase WqlConnectionManager y llame al método [Connect] pasando el nombre del servidor y, si el nombre del servidor es remoto, el nombre de usuario y la contraseña.
Use el objeto WqlConnectionManager para conectarse al proveedor.
Ejemplo
El siguiente método de ejemplo se conecta al proveedor de SMS en un equipo local o remoto. Si servername
es remoto, el método usa el nombre de usuario y la contraseña proporcionados para conectarse al equipo remoto. Si desea usar el contexto de usuario actual, para la conexión remota, cambie el código para que no pase el nombre de usuario y la contraseña. Si la conexión se realiza correctamente, se devuelve un objeto WqlConnectionManager .
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de Configuration Manager.
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;
}
}
Compilar el código
Espacios de nombres
System
System.Collections.Generic
System.ComponentModel
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Microsoft. ManagementConsole
Ensamblado
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Microsoft. ManagementConsole
Programación sólida
Las excepciones Configuration Manager que se pueden generar son SmsConnectionException y SmsQueryException. Estos se pueden detectar junto con SmsException.
Seguridad de .NET Framework
UnauthorizedAccessException se genera cuando se pasan las credenciales incorrectas a WqlConnectionManager.Connect.
Consulta también
Aspectos básicos del proveedor de SMSCómo agregar un calificador de contexto de Configuration Manager mediante código administrado
Introducción a objetos