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
Erstellen Sie ein SmsNamedValuesDictionaryObject.Create a SmsNamedValuesDictionaryObject.
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.
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