How to Connect to an SMS Provider in Configuration Manager by Using Managed Code (Jak połączyć się z dostawcą programu SMS w programie Configuration Manager przy użyciu kodu zarządzanego)

Aby nawiązać połączenie z dostawcą programu SMS, użyj programu WqlConnectionManager. Connect . Po nawiązaniu połączenia WqlConnectionManager. Connect ma metody do wykonywania zapytań, tworzenia, usuwania i w inny sposób używania obiektów Configuration Manager INSTRUMENTACJA zarządzania Windows (WMI).

Uwaga

WqlConnectionManager. Connect to specyficzne dla WMI dane pochodne ConnectionManagerBase.

Jeśli łączysz się z lokalnym dostawcą programu SMS, nie podasz poświadczeń użytkownika. Jeśli łączysz się ze zdalnym dostawcą programu SMS, nie musisz podawać poświadczeń użytkownika, jeśli bieżący kontekst użytkownika/komputera ma uprawnienia do zdalnego dostawcy programu SMS.

Jeśli nie masz uprawnień dostępu do zdalnego dostawcy programu SMS lub jeśli chcesz użyć innego konta użytkownika, musisz podać poświadczenia użytkownika dla konta użytkownika, które ma uprawnienia dostępu.

WQLConnectionManager. Connection wymaga obiektu SmsNamedValuesDictionary . Może służyć do przechowywania informacji w pamięci podręcznej, takich jak nazwa komputera.

Jest wstępnie wypełniony liczbą wartości, które mogą być używane w aplikacji.

Wartość Opis
ProviderLocation Lokalizacja dostawcy. Przykład:

\\<nazwa_komputera > \ROOT\sms: SMS_ProviderLocation. Sitecode = "XXX".
ProviderMachineName Komputer dostawcy. Na przykład \ \ComputerName.
Połączenie Ścieżka połączenia. Na przykład \ \computername\root\sms\ site_XXX.
ConnectedSiteCode Kod lokacji witryny Configuration Manager, z którą jest połączone połączenie. Na przykład XXX.
ServerName Nazwa komputera, na przykład COMPUTERNAME.
Nazwa witryny Kod lokacji Configuration Manager. Na przykład Centralna lokacja.
ConnectedServerVersion Wersja symulowana dla połączonego serwera. Na przykład 4.00.5830.0000
BuildNumber Numer kompilacji instalacji Configuration Manager. Na przykład 5830.

Uwaga

Obiekt SmsNamedValuesDictionary nie jest tym, aby informacje o kwalifikatorze kontekstu zostały przesłane do dostawcy. Aby uzyskać więcej informacji, zobacz jak dodać kwalifikator kontekstu Configuration Manager za pomocą kodu zarządzanego.

Aby nawiązać połączenie z dostawcą programu SMS

  1. Utwórz element SmsNamedValuesDictionaryObject.

  2. Utwórz wystąpienie klasy WqlConnectionManager i Wywołaj metodę [Connect] przekazującą nazwę serwera, a jeśli nazwa serwera jest zdalna, nazwa użytkownika i hasło.

  3. Użyj obiektu WqlConnectionManager , aby połączyć się z dostawcą.

Przykład

Poniższa przykładowa Metoda nawiązuje połączenie z dostawcą programu SMS na komputerze lokalnym lub zdalnym. Jeśli servername jest to zdalne, metoda używa podanej nazwy użytkownika i hasła w celu nawiązania połączenia z komputerem zdalnym. Jeśli chcesz użyć kontekstu bieżącego użytkownika dla połączenia zdalnego, Zmień kod, tak aby nie przeszedł nazwy użytkownika i hasła. Jeśli połączenie zakończy się pomyślnie, zwracany jest obiekt WqlConnectionManager .

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz wywoływanie Configuration Manager fragmentów kodu.

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

Kompilowanie kodu

Przestrzenie nazw

System

System.Collections.Generic

System. ComponentModel

Microsoft.ConfigurationManagement. ManagementProvider

Microsoft.ConfigurationManagement. ManagementProvider. WqlQueryEngine

Microsoft. ManagementConsole

Zestaw

microsoft.configurationmanagement. managementprovider

adminui. wqlqueryengine

Microsoft. ManagementConsole

Niezawodne programowanie

Configuration Manager wyjątkami, które można podwyższyć, to SmsConnectionException i SmsQueryException. Można je przechwycić razem z SmsException.

Zabezpieczenia.NET Framework

UnauthorizedAccessException jest zgłaszane w przypadku przekazywania nieprawidłowych poświadczeń do WqlConnectionManager. Connect .

Zobacz też

Dostawca programu SMS podstawowe informacje na temat dodawania kwalifikatora kontekstu Configuration Manager przy użyciu kodu zarządzanego
Omówienie obiektów