Share via


Verbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code

Als u verbinding wilt maken met een SMS-provider, gebruikt u WqlConnectionManager.Connect. Nadat de verbinding is gemaakt, heeft WqlConnectionManager.Connect methoden om Configuration Manager WMI-objecten (Windows Management Instrumentation) op te vragen, te maken, te verwijderen en anderszins te gebruiken.

Opmerking

WqlConnectionManager.Connect is een WMI-specifieke afleiding van ConnectionManagerBase.

Als u verbinding maakt met een lokale SMS-provider, geeft u geen gebruikersreferenties op. Als u verbinding maakt met een externe SMS-provider, hoeft u geen gebruikersreferenties op te geven als de huidige gebruikers-/computercontext machtigingen heeft voor de externe SMS-provider.

Als u geen toegangsbevoegdheden hebt voor de externe SMS-provider of als u een ander gebruikersaccount wilt gebruiken, moet u gebruikersreferenties opgeven voor een gebruikersaccount met toegangsbevoegdheden.

Voor WQLConnectionManager.Connection is een SmsNamedValuesDictionary-object vereist. Dit kan worden gebruikt voor het opslaan van gegevens in de cache, zoals de computernaam.

Het is vooraf ingevuld met veel waarden die kunnen worden gebruikt in uw toepassing.

Waarde Beschrijving.
ProviderLocation De locatie van de provider. Bijvoorbeeld:

\\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX".
ProviderMachineName De providercomputer. Bijvoorbeeld \\ComputerName.
Verbinding Het verbindingspad. Bijvoorbeeld \\ComputerName\root\sms\site_XXX.
ConnectedSiteCode De sitecode voor de Configuration Manager site waarmee de verbinding is verbonden. Bijvoorbeeld XXX.
Servernaam De computernaam, bijvoorbeeld COMPUTERNAAM.
SiteName De Configuration Manager sitecode. Bijvoorbeeld Centrale site.
ConnectedServerVersion De versie voor de verbonden server. Bijvoorbeeld 4.00.5830.0000
BuildNumber Het buildnummer van Configuration Manager installatie. Bijvoorbeeld 5830.

Verbinding maken met de SMS-provider

  1. Maak een SmsNamedValuesDictionaryObject.

  2. Maak een exemplaar van de klasse WqlConnectionManager en roep de methode [Connect] aan en geef de servernaam door, en als de servernaam extern is, de gebruikersnaam en het wachtwoord.

  3. Gebruik het WqlConnectionManager-object om verbinding te maken met de provider.

Voorbeeld

De volgende voorbeeldmethode maakt verbinding met de SMS-provider op een lokale of externe computer. Als servername extern is, gebruikt de methode de opgegeven gebruikersnaam en het wachtwoord om verbinding te maken met de externe computer. Als u de huidige gebruikerscontext wilt gebruiken voor de externe verbinding, wijzigt u de code zodat deze de gebruikersnaam en het wachtwoord niet doorgeeft. Als de verbinding tot stand is gebracht, wordt een WqlConnectionManager-object geretourneerd.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

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

De code compileren

Naamruimten

Systeem

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Microsoft.ManagementConsole

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Microsoft.ManagementConsole

Robuust programmeren

De Configuration Manager uitzonderingen die kunnen worden gegenereerd, zijn SmsConnectionException en SmsQueryException. Deze kunnen samen met SmsException worden gevangen.

.NET Framework Beveiliging

UnauthorizedAccessException wordt gegenereerd wanneer de verkeerde referenties worden doorgegeven aan WqlConnectionManager.Connect.

Zie ook

Basisprincipes van SMS-providerEen Configuration Manager contextkwalificatie toevoegen met behulp van beheerde code
Overzicht van objecten