Метод WSMan.CreateSession

Создает объект Session , который затем можно использовать для последующих сетевых операций.

Синтаксис

WSMan.CreateSession( _
  [ ByVal connection ], _
  [ ByVal flags ], _
  [ ByVal connectionOptions ] _
)

Параметры

connection [in, необязательный]

Протокол и служба для подключения, включая IPv4 или IPv6. Формат сведений о подключении выглядит следующим образом: <суффикс>транспортного><адреса><. Примеры см. в разделе Примечания. Если сведения о подключении не предоставлены, используется локальный компьютер.

flags [in, необязательный]

Флаги сеанса, указывающие метод проверки подлинности, например Согласование проверки подлинности или Дайджест-проверка подлинности, для подключения к удаленному компьютеру. Эти флаги также указывают другие сведения о подключении к сеансу, такие как кодирование или шифрование. Этот параметр должен содержать один или несколько флагов в __WSManSessionFlags для удаленного подключения. Дополнительные сведения см. в разделе Константы сеанса. Для подключения к WinRM на локальном компьютере параметры флага не требуются. Значение по умолчанию — WSManFlagUseNegotiate.

Дополнительные сведения см. в разделе Проверка подлинности для удаленных подключений и параметр connectionOptions .

connectionOptions [in, необязательный]

Указатель на объект ConnectionOptions , содержащий имя пользователя и пароль. По умолчанию имеет значение NULL.

Возвращаемое значение

Объект Session , который затем можно использовать для выполнения локальных или удаленных операций WinRM.

Комментарии

Метод CreateSession инициализирует объект Session путем сбора параметров, таких как флаги, учетные данные и строка подключения для параметра подключения . CreateSession фактически не подключается к локальному или удаленному компьютеру. Если установить подключение не удается, после вызова CreateSession происходит сбой при первой операции сеанса, такой как получение или перечисление. Это поведение отличается от WMI-подключения к пространству имен на удаленном компьютере. Дополнительные сведения см. в статье Удаленное управление Windows и WMI.

Следующий пример кода VBScript используется для вызова этого метода.

Set session = _
    wsman.CreateSession("<Transport><Address><Suffix>")

В следующих примерах показаны различные форматы, используемые для указания сведений о подключении в параметре подключения (при создании сеанса < HTTPS поле Адрес> должно соответствовать имени сертификата компьютера сервера, в противном случае произойдет сбой):

  • "https://service"

    Использует ПРОТОКОЛ HTTPS для подключения к расположению веб-службы по умолчанию.

  • "https://service.corp.com/websvcs/wsman"

    Использует ПРОТОКОЛ HTTPS для подключения к определенному расположению веб-службы.

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]"

    Использует HTTPS и IPv6 с портом по умолчанию.

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]:9999/wsman"

    Использует HTTPS и IPv6 с заданным портом.

Примеры

В следующем примере кода VBScript создается сеанс на локальном компьютере.

 Set NewSession = Wsman.CreateSession   
   

В следующем примере кода VBScript создается сеанс на удаленном компьютере, который идентифицируется по IP-адресу. Скрипт предоставляет имя пользователя и пароль для учетной записи. Флаги WSManFlagCredUserNamePassword и WSManFlagUseBasic объединяются, чтобы указать, что учетная запись является локальной учетной записью на удаленном компьютере. Если создание сеанса завершается сбоем, скрипт завершается. Скрипт использует методы, возвращающие константу, например WSMan.SessionFlagUseBasic.

Чтобы запустить этот скрипт, необходимо настроить параметры конфигурации по умолчанию как для клиента, так и для сервера, чтобы разрешить незашифрованный трафик и обычную проверку подлинности (для Параметра AllowUnencrypted задано значение True , а для базового — значение True). Дополнительные сведения см. в статье Установка и настройка удаленного управления Windows.

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

В следующем примере кода VBScript учетная запись является учетной записью домена и используется проверка подлинности Negotiate. При использовании проверки подлинности Negotiate необходимо указать имя пользователя как computername\username или ipaddress\username.

iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Заголовок
WSManDisp.h
IDL
WSManDisp.idl
Библиотека
WSManDisp.tlb
DLL
WSMAuto.dll

См. также раздел

WSMan

ConnectionOptions

Сеанс

Проверка подлинности для удаленных подключений

Установка и настройка удаленного управления Windows