Partager via


Comment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de code managé

Pour vous connecter à un fournisseur SMS, utilisez WqlConnectionManager.Connect. Une fois connecté, WqlConnectionManager.Connect dispose de méthodes permettant d’interroger, de créer, de supprimer et d’utiliser Configuration Manager objets WMI (Windows Management Instrumentation).

Remarque

WqlConnectionManager.Connect est une dérivation propre à WMI de ConnectionManagerBase.

Si vous vous connectez à un fournisseur SMS local, vous ne fournissez pas d’informations d’identification utilisateur. Si vous vous connectez à un fournisseur SMS distant, vous n’avez pas besoin de fournir les informations d’identification de l’utilisateur si le contexte utilisateur/ordinateur actuel dispose d’autorisations sur le fournisseur SMS distant.

Si vous n’avez pas de privilèges d’accès sur le fournisseur SMS distant, ou si vous souhaitez utiliser un autre compte d’utilisateur, vous devez fournir les informations d’identification de l’utilisateur pour un compte d’utilisateur disposant de privilèges d’accès.

WQLConnectionManager.Connection nécessite un objet SmsNamedValuesDictionary . Cela peut être utilisé pour stocker des informations mises en cache telles que le nom de l’ordinateur.

Elle est préremplie avec un certain nombre de valeurs qui peuvent être utilisées dans votre application.

Valeur Description.
ProviderLocation Emplacement du fournisseur. Par exemple :

\\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX ».
ProviderMachineName L’ordinateur du fournisseur. Par exemple, \\ComputerName.
Connection Chemin de connexion. Par exemple, \\ComputerName\root\sms\site_XXX.
ConnectedSiteCode Code de site du Configuration Manager site auquel la connexion est connectée. Par exemple, XXX.
ServerName Nom de l’ordinateur, par exemple COMPUTERNAME.
Sitename Code de site Configuration Manager. Par exemple, site central.
ConnectedServerVersion Version du serveur connecté. Par exemple, 4.00.5830.0000
BuildNumber Numéro de build de l’installation Configuration Manager. Par exemple, 5830.

Remarque

L’objet SmsNamedValuesDictionary n’est pas les informations de qualificateur de contexte transmises au fournisseur. Pour plus d’informations, consultez Ajout d’un qualificateur de contexte Configuration Manager à l’aide de code managé.

Pour se connecter au fournisseur SMS

  1. Créez un SmsNamedValuesDictionaryObject.

  2. Créez une instance de la classe WqlConnectionManager et appelez la méthode [Connect] en passant le nom du serveur et, si le nom du serveur est distant, le nom d’utilisateur et le mot de passe.

  3. Utilisez l’objet WqlConnectionManager pour vous connecter au fournisseur.

Exemple

L’exemple de méthode suivant se connecte au fournisseur SMS sur un ordinateur local ou distant. Si servername est distant, la méthode utilise le nom d’utilisateur et le mot de passe fournis pour se connecter à l’ordinateur distant. Si vous souhaitez utiliser le contexte utilisateur actuel, pour la connexion à distance, modifiez le code afin qu’il ne passe pas le nom d’utilisateur et le mot de passe. Si la connexion réussit, un objet WqlConnectionManager est retourné.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;  
    }  
}  

Compilation du code

Espaces de noms

Système

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Microsoft. ManagementConsole

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Microsoft. ManagementConsole

Programmation robuste

Les exceptions Configuration Manager qui peuvent être levées sont SmsConnectionException et SmsQueryException. Ceux-ci peuvent être regroupés avec SmsException.

Sécurité de .NET Framework

UnauthorizedAccessException est déclenché lorsque les informations d’identification incorrectes sont passées à WqlConnectionManager.Connect.

Voir aussi

Principes de base du fournisseur SMSComment ajouter un qualificateur de contexte Configuration Manager à l’aide de code managé
Vue d’ensemble des objets