Freigeben über


Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code

Um eine Verbindung mit einem SMS-Anbieter herzustellen, verwenden Sie WqlConnectionManager.Connect. Nachdem die Verbindung hergestellt wurde, verfügt WqlConnectionManager.Connect über Methoden zum Abfragen, Erstellen, Löschen und anderweitigen Verwenden Configuration Manager WMI-Objekte (Windows Management Instrumentation).

Hinweis

WqlConnectionManager.Connect ist eine WMI-spezifische Ableitung von ConnectionManagerBase.

Wenn Sie eine Verbindung mit einem lokalen SMS-Anbieter herstellen, geben Sie keine Benutzeranmeldeinformationen an. Wenn Sie eine Verbindung mit einem SMS-Remoteanbieter herstellen, müssen Sie keine Benutzeranmeldeinformationen angeben, wenn der aktuelle Benutzer-/Computerkontext über Berechtigungen für den SMS-Remoteanbieter verfügt.

Wenn Sie keine Zugriffsrechte für den SMS-Remoteanbieter haben oder ein anderes Benutzerkonto verwenden möchten, müssen Sie Benutzeranmeldeinformationen für ein Benutzerkonto angeben, das über Zugriffsberechtigungen verfügt.

WQLConnectionManager.Connection erfordert ein SmsNamedValuesDictionary-Objekt . Dies kann verwendet werden, um zwischengespeicherte Informationen wie den Computernamen zu speichern.

Es ist mit einer Reihe von Werten aufgefüllt, die in Ihrer Anwendung verwendet werden können.

Wert Eine Beschreibung.
ProviderLocation Der Anbieterspeicherort. Beispiel:

\\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX".
ProviderMachineName Der Anbietercomputer. Beispiel: \\ComputerName.
Verbindung Der Verbindungspfad. Beispiel: \\ComputerName\root\sms\site_XXX.
ConnectedSiteCode Der Standortcode für den Configuration Manager Standort, mit dem die Verbindung verbunden ist. Beispiel: XXX.
ServerName Der Computername, z. B. COMPUTERNAME.
Sitename Der Configuration Manager-Standortcode. Beispiel: Zentraler Standort.
ConnectedServerVersion Die Version für den verbundenen Server. Beispiel: 4.00.5830.0000
BuildNumber Die Configuration Manager Buildnummer der Installation. Beispiel: 5830.

Hinweis

Das SmsNamedValuesDictionary-Objekt ist nicht die Kontextqualifiziererinformationen, die an den Anbieter übergeben werden. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager Kontextqualifizierers mithilfe von verwaltetem Code.

So stellen Sie eine Verbindung mit dem SMS-Anbieter her

  1. Erstellen Sie ein SmsNamedValuesDictionaryObject.Create a SmsNamedValuesDictionaryObject.

  2. Erstellen Sie eine Instanz der WqlConnectionManager-Klasse , und rufen Sie die [Connect]- Methode auf, und übergeben Sie den Servernamen, und wenn der Servername remote lautet, den Benutzernamen und das Kennwort.

  3. Verwenden Sie das WqlConnectionManager-Objekt , um eine Verbindung mit dem Anbieter herzustellen.

Beispiel

Die folgende Beispielmethode stellt eine Verbindung mit dem SMS-Anbieter auf einem lokalen oder Remotecomputer her. Wenn servername remote ist, verwendet die Methode den angegebenen Benutzernamen und das Kennwort, um eine Verbindung mit dem Remotecomputer herzustellen. Wenn Sie den aktuellen Benutzerkontext verwenden möchten, ändern Sie für die Remoteverbindung den Code so, dass der Benutzername und das Kennwort nicht übergeben werden. Wenn die Verbindung erfolgreich ist, wird ein WqlConnectionManager-Objekt zurückgegeben.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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;  
    }  
}  

Kompilieren des Codes

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Microsoft. ManagementConsole

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Microsoft. ManagementConsole

Robuste Programmierung

Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.

.NET Framework-Sicherheit

UnauthorizedAccessException wird ausgelöst, wenn die falschen Anmeldeinformationen an WqlConnectionManager.Connect übergeben werden.

Siehe auch

Grundlagen des SMS-AnbietersHinzufügen eines Configuration Manager Kontextqualifizierers mithilfe von verwaltetem Code
Übersicht über Objekte