Guide pratique pour se connecter à un fournisseur SMS dans Configuration Manager avec du code managé

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

Notes

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

Si vous vous connectez à un fournisseur SMS local, vous ne fournissez pas les informations d’identification de l’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 de l’utilisateur ou de l’ordinateur actuel dispose des 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 requiert 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.
Emplacementfournisseur Emplacement du fournisseur. Par exemple,

\\<ComputerName > \ROOT\sms : SMS_ProviderLocation. SiteCode = "xxx".
ProviderMachineName Ordinateur du fournisseur. Par exemple, \ \ComputerName.
Connexion Chemin d’accès de la connexion. Par exemple, \ \computername\root\sms\ site_XXX.
ConnectedSiteCode Code de site du site Configuration Manager 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 de Configuration Manager. Par exemple, 5830.

Notes

L’objet SmsNamedValuesDictionary n’est pas les informations de qualificateur de contexte passées au fournisseur. Pour plus d’informations, consultez comment ajouter 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 de l’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 Calling Configuration Manager Code Snippets (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 fiable

Les exceptions Configuration Manager qui peuvent être déclenchées sont SmsConnectionException et SmsQueryException. Celles-ci peuvent être interceptées avec SmsException.

Sécurité .NET Framework

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

Voir aussi

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