Herstellen einer Verbindung mit einem SMS Anbieter in Configuration Manager mithilfe von verwaltetem CodeHow to Connect to an SMS Provider in Configuration Manager by Using Managed Code

Verwenden Sie zum Herstellen einer Verbindung mit einem SMS-Anbieter wqlconnectionmanager. Connect .To connect to a SMS Provider, use WqlConnectionManager.Connect . Nachdem die Verbindung hergestellt wurde, verfügt wqlconnectionmanager. Connect über Methoden zum Abfragen, erstellen, löschen und anderweitig verwenden von Configuration Manager Windows-Verwaltungsinstrumentation-Objekten (WMI).After it is connected, WqlConnectionManager.Connect has methods to query, create, delete, and otherwise use Configuration Manager Windows Management Instrumentation (WMI) objects.

Hinweis

Wqlconnectionmanager. Connect ist eine WMI-spezifische Ableitung von ConnectionManagerBase.WqlConnectionManager.Connect is a WMI-specific derivation of ConnectionManagerBase.

Wenn Sie eine Verbindung mit einem lokalen SMS-Anbieter herstellen, geben Sie keine Benutzer Anmelde Informationen an.If you are connecting to a local SMS Provider, you do not supply user credentials. Wenn Sie eine Verbindung mit einem Remote-SMS-Anbieter herstellen, müssen Sie keine Benutzer Anmelde Informationen angeben, wenn der aktuelle Benutzer-/Computerkontext über Berechtigungen für den SMS-Remote Anbieter verfügt.If you are connecting to a remote SMS Provider, you do not need to supply user credentials if the if the current user/computer context has permissions on the remote SMS Provider.

Wenn Sie nicht über Zugriffsberechtigungen für den SMS-Remote Anbieter verfügen oder wenn Sie ein anderes Benutzerkonto verwenden möchten, müssen Sie Benutzer Anmelde Informationen für ein Benutzerkonto angeben, das über Zugriffsberechtigungen verfügt.If you do not have access privileges on the remote SMS Provider, or if you want to use a different user account, then you must supply user credentials for a user account that has access privileges.

Wqlconnectionmanager. Connection erfordert ein smsnamedvaluesdictionary -Objekt.WQLConnectionManager.Connection requires a SmsNamedValuesDictionary object. Dies kann zum Speichern von zwischengespeicherten Informationen wie dem Computernamen verwendet werden.This can be used to store cached information such as the computer name.

Sie ist mit einer Reihe von Werten aufgefüllt, die in der Anwendung verwendet werden können.It is pre-populated with a number of values that can be used in your application.

WertValue BeschreibungDescription.
ProviderlocationProviderLocation Der Speicherort des Anbieters.The provider location. Beispiel:For example,

\\<Computername > \root\sms: SMS_ProviderLocation. SiteCode = "xxx".\\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX".
ProvidermachinenameProviderMachineName Der Anbieter Computer.The provider computer. Beispiel: \ \computername.For example, \\ComputerName.
VerbindungConnection Der Verbindungs Pfad.The connection path. Beispiel: \ \computername\root\sms\ site_XXX.For example, \\ComputerName\root\sms\site_XXX.
ConnectedsitecodeConnectedSiteCode Der Standortcode für den Configuration Manager Standort, mit dem die Verbindung verbunden ist.The site code for the Configuration Manager site that the connection is connected to. Beispiel: xxx.For example, XXX.
ServerNameServerName Der Computername, z. b. Computername.The computer name, for example, COMPUTERNAME.
SiteNameSiteName Der Configuration Manager-Standortcode.The Configuration Manager site code. Beispiel: zentraler Standort.For example, Central Site.
ConnectedserverversionConnectedServerVersion Die Version für den verbundenen Server.Ther version for the connected server. Beispiel: 4.00.5830.0000For example, 4.00.5830.0000
BuildNumberBuildNumber Die Configuration Manager-installationsbuildnummer.The Configuration Manager installation build number. Beispiel: 5830.For example, 5830.

Hinweis

Das smsnamedvaluesdictionary -Objekt ist nicht die Informationen zum Kontext Qualifizierer, die an den Anbieter übermittelt werden.The SmsNamedValuesDictionary object is not the context qualifier information passed to the provider. Weitere Informationen finden Sie unter Vorgehens Weise beim Hinzufügen eines Configuration Manager Kontext Qualifizierers mithilfe von verwaltetem Code.For more information, see How to Add a Configuration Manager Context Qualifier by Using Managed Code.

So stellen Sie eine Verbindung zum SMS-Anbieter herTo connect to the SMS Provider

  1. Erstellen Sie ein smsnamedvaluesditionaryobject.Create a SmsNamedValuesDictionaryObject.

  2. Erstellen Sie eine Instanz der wqlconnectionmanager -Klasse, und rufen Sie die [Connect] -Methode auf, indem Sie den Servernamen und den Servernamen Remote, den Benutzernamen und das Kennwort eingeben.Create an instance of the WqlConnectionManager class and call the [Connect] method passing the server name, and if the server name is remote, the user name and password.

  3. Verwenden Sie das wqlconnectionmanager -Objekt, um eine Verbindung mit dem Anbieter herzustellen.Use the WqlConnectionManager object to connect to the provider.

BeispielExample

Die folgende Beispiel Methode stellt eine Verbindung mit dem SMS-Anbieter auf einem lokalen Computer oder einem Remote Computer her.The following example method connects to the SMS Provider on a local or remote computer. Wenn servername Remote ist, verwendet die-Methode den angegebenen Benutzernamen und das zugehörige Kennwort, um eine Verbindung mit dem Remote Computer herzustellen.If servername is remote, the method uses the supplied user name and password to connect to the remote computer. Wenn Sie den aktuellen Benutzer Kontext für die Remote Verbindung verwenden möchten, ändern Sie den Code so, dass er den Benutzernamen und das Kennwort nicht übergibt.If you want to use the current user context, for the remote connection, change the code so that it does not pass the user name and password. Wenn die Verbindung erfolgreich ist, wird ein wqlconnectionmanager -Objekt zurückgegeben.If the connection is successful, a WqlConnectionManager object is returned.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.For information about calling the sample code, see Calling Configuration Manager Code Snippets.

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 CodesCompiling the Code

NamespacesNamespaces

SystemSystem

System.Collections.GenericSystem.Collections.Generic

System.ComponentModelSystem.ComponentModel

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngineMicrosoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Microsoft. ManagementConsoleMicrosoft.ManagementConsole

AssemblyAssembly

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

adminui.wqlqueryengineadminui.wqlqueryengine

Microsoft. ManagementConsoleMicrosoft.ManagementConsole

Stabile ProgrammierungRobust Programming

Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind smsconnectionexception und smsqueryexception.The Configuration Manager exceptions that can be raised are SmsConnectionException and SmsQueryException. Diese können mit smsexceptionabgefangen werden.These can be caught together with SmsException.

.NET Framework-Sicherheit.NET Framework Security

UnauthorizedAccessException wird ausgelöst, wenn die falschen Anmelde Informationen an wqlconnectionmanager. Connect übergeben werden.UnauthorizedAccessException is raised when the wrong credentials are passed to WqlConnectionManager.Connect .

Weitere InformationenSee Also

Grundlagen des SMS-Anbieters Hinzufügen eines Configuration Manager Kontext Qualifizierers mithilfe von verwaltetem Code SMS Provider fundamentals How to Add a Configuration Manager Context Qualifier Using Managed Code
Objekte – ÜbersichtObjects overview