Метод WSMan.CreateSession

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

Синтаксис

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

Параметры

connection [in, optional]

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

флаги [in, optional]

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

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

connectionOptions [in, optional]

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

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

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

Remarks

Метод CreateSession инициализирует объект Session путем сбора параметров, таких как флаги, учетные данные и строка подключения для параметра подключения . CreateSession фактически не подключается к локальному или удаленному компьютеру. Если подключение не удается установить, то после вызова CreateSession происходит сбой при первой операции сеанса, такой как Get или Enumerate. Это поведение отличается от 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 и basic, равный 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