Подключение к поставщику SMS в Configuration Manager с помощью управляемого кода

Чтобы подключиться к поставщику SMS, используйте WqlConnectionManager.Connect. После подключения WqlConnectionManager.Connect имеет методы для запроса, создания, удаления и другого использования Configuration Manager объектов инструментария управления Windows (WMI).

Примечание.

WqlConnectionManager.Connect — это наследование ConnectionManagerBase для WMI.

При подключении к локальному поставщику SMS учетные данные пользователя не предоставляются. При подключении к удаленному поставщику SMS не нужно предоставлять учетные данные пользователя, если текущий контекст пользователя или компьютера имеет разрешения на удаленный поставщик SMS.

Если у вас нет прав доступа к удаленному поставщику SMS или вы хотите использовать другую учетную запись пользователя, необходимо указать учетные данные пользователя для учетной записи пользователя с правами доступа.

Для WQLConnectionManager.Connectionтребуется объект SmsNamedValuesDictionary . Его можно использовать для хранения кэшированных сведений, таких как имя компьютера.

Он предварительно заполняется рядом значений, которые можно использовать в приложении.

Значение Описание.
ProviderLocation Расположение поставщика. Пример.

\\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX".
ProviderMachineName Компьютер поставщика. Например, \\ComputerName.
Connection Путь подключения. Например, \\ComputerName\root\sms\site_XXX.
ConnectedSiteCode Код сайта для Configuration Manager сайта, к которому подключено подключение. Например, XXX.
ServerName Имя компьютера, например COMPUTERNAME.
Sitename Код сайта Configuration Manager. Например, Центральный сайт.
ConnectedServerVersion Версия подключенного сервера. Например, 4.00.5830.0000
BuildNumber Номер сборки Configuration Manager установки. Например, 5830.

Примечание.

Объект SmsNamedValuesDictionary не является информацией квалификатора контекста, передаваемой поставщику. Дополнительные сведения см. в статье Добавление квалификатора контекста Configuration Manager с помощью управляемого кода.

Подключение к поставщику SMS

  1. Создайте SmsNamedValuesDictionaryObject.

  2. Создайте экземпляр класса WqlConnectionManager и вызовите метод [Connect] , передав имя сервера, а если имя сервера является удаленным, имя пользователя и пароль.

  3. Используйте объект WqlConnectionManager для подключения к поставщику.

Пример

В следующем примере метод подключается к поставщику SMS на локальном или удаленном компьютере. Если servername является удаленным, метод использует предоставленные имя пользователя и пароль для подключения к удаленному компьютеру. Если вы хотите использовать текущий контекст пользователя, для удаленного подключения измените код, чтобы он не передавал имя пользователя и пароль. Если подключение выполнено успешно, возвращается объект WqlConnectionManager .

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.

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

Компиляция программы

Пространства имен

System;

System.Collections.Generic;

System.ComponentModel

Майкрософт. ConfigurationManagement.ManagementProvider

Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Майкрософт. ManagementConsole

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Майкрософт. ManagementConsole

Надежное программирование

Configuration Manager исключения, которые могут быть вызваны: SmsConnectionException и SmsQueryException. Их можно поймать вместе с SmsException.

Безопасность .NET Framework

Исключение UnauthorizedAccessException возникает, когда в WqlConnectionManager.Connect передаются неправильные учетные данные.

См. также

Основы поставщика SMS. Добавление квалификатора контекста Configuration Manager с помощью управляемого кода
Обзор объектов