Método WSMan.CreateSession

Crea un objeto Session que se puede usar para las operaciones de red posteriores.

Sintaxis

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

Parámetros

conexión [in, opcional]

Protocolo y servicio al que se conectará, incluidos IPv4 o IPv6. El formato de la información de conexión es el siguiente: <Sufijo>de dirección>< de transporte><. Para obtener ejemplos, vea Comentarios. Si no se proporciona información de conexión, se usa el equipo local.

flags [in, optional]

Marcas de sesión que especifican el método de autenticación, como la autenticación Negotiate o la autenticación implícita, para conectarse a un equipo remoto. Estas marcas también especifican otra información de conexión de sesión, como la codificación o el cifrado. Este parámetro debe contener una o varias de las marcas de __WSManSessionFlags para una conexión remota. Para obtener más información, vea Constantes de sesión. No se requiere ninguna configuración de marca para una conexión a WinRM en el equipo local. El valor predeterminado es WSManFlagUseNegotiate.

Para obtener más información, consulte Autenticación para conexiones remotas y el parámetro connectionOptions .

connectionOptions [in, optional]

Puntero a un objeto ConnectionOptions que contiene un nombre de usuario y una contraseña. El valor predeterminado es NULL.

Valor devuelto

Objeto Session que se puede usar para realizar operaciones winRM locales o remotas.

Comentarios

El método CreateSession inicializa el objeto Session mediante la recopilación de parámetros, como marcas, credenciales y una cadena de conexión para el parámetro de conexión . CreateSession no se conecta realmente al equipo local o remoto. Si no se puede establecer la conexión, se produce un error en la primera operación de sesión , como get oEnumerate, después de la llamada a CreateSession. Este comportamiento difiere de una conexión WMI a un espacio de nombres en un equipo remoto. Para obtener más información, consulte Administración remota de Windows y WMI.

El siguiente ejemplo de código de VBScript se usa para llamar a este método.

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

En los ejemplos siguientes se muestran los distintos formatos usados para especificar información de conexión en el parámetro de conexión (al crear una sesión HTTPS, el < campo Dirección> debe coincidir con el nombre del certificado del equipo del servidor; de lo contrario, se produce un error):

  • "https://service"

    Usa HTTPS para conectarse a la ubicación predeterminada del servicio web.

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

    Usa HTTPS para conectarse a la ubicación específica del servicio web.

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

    Usa HTTPS e IPv6 con el puerto predeterminado.

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

    Usa HTTPS e IPv6 con el puerto especificado.

Ejemplos

En el ejemplo de código de VBScript siguiente se crea una sesión en el equipo local.

 Set NewSession = Wsman.CreateSession   
   

En el ejemplo de código de VBScript siguiente se crea una sesión en un equipo remoto identificado por una dirección IP. El script proporciona un nombre de usuario y una contraseña para una cuenta. Las marcas WSManFlagCredUserNamePassword y WSManFlagUseBasic se combinan para indicar que la cuenta es una cuenta local en el equipo remoto. Si se produce un error en la creación de la sesión, el script finaliza. El script usa los métodos que devuelven la constante, como WSMan.SessionFlagUseBasic.

Para ejecutar este script, tenga en cuenta que debe configurar las opciones de configuración predeterminadas para que tanto el cliente como el servidor permitan el tráfico sin cifrar y la autenticación básica (AllowUnencrypted establecido enTrue y Basic establecido en True). Para obtener más información, consulta Instalación y configuración para la administración remota de 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) 

En el siguiente ejemplo de código de VBScript, la cuenta es una cuenta de dominio y se usa la autenticación Negotiate. Con la autenticación Negotiate, debe especificar el nombre de usuario como computername\username o 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) 

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Encabezado
WSManDisp.h
IDL
WSManDisp.idl
Biblioteca
WSManDisp.tlb
Archivo DLL
WSMAuto.dll

Consulte también

WSMan

ConnectionOptions

Sesión

Autenticación para conexiones remotas

Instalación y configuración para la administración remota de Windows