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

  1. Cree un SmsNamedValuesDictionaryObject.

  2. 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.

  3. 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