Método WSMan.CreateSession

Cria um objeto Session que pode ser usado para operações de rede subsequentes.

Sintaxe

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

Parâmetros

conexão [in, opcional]

O protocolo e o serviço ao qual se conectar, incluindo IPv4 ou IPv6. O formato das informações de conexão é o seguinte: <TransportAddressSuffix><><>. Para obter exemplos, consulte Comentários. Se nenhuma informação de conexão for fornecida, o computador local será usado.

sinalizadores [in, opcional]

Os sinalizadores de sessão que especificam o método de autenticação, como a autenticação Negotiate ou a autenticação Digest, para se conectar a um computador remoto. Esses sinalizadores também especificam outras informações de conexão de sessão, como codificação ou criptografia. Esse parâmetro deve conter um ou mais sinalizadores em __WSManSessionFlags para uma conexão remota. Para obter mais informações, consulte Constantes de Sessão. Nenhuma configuração de sinalizador é necessária para uma conexão com o WinRM no computador local. O padrão é WSManFlagUseNegotiate.

Para obter mais informações, consulte Autenticação para Conexões Remotas e o parâmetro connectionOptions .

connectionOptions [in, opcional]

Um ponteiro para um objeto ConnectionOptions que contém um nome de usuário e uma senha. O padrão é NULL.

Retornar valor

Um objeto Session que pode ser usado para executar operações locais ou remotas do WinRM.

Comentários

O método CreateSession inicializa o objeto Session coletando parâmetros, como sinalizadores, credenciais e uma cadeia de conexão para o parâmetro de conexão . O CreateSession realmente não se conecta ao computador local ou remoto. Se a conexão não puder ser estabelecida, ocorrerá uma falha na primeira operação de sessão , como obter ou enumerar, após a chamada para CreateSession. Esse comportamento difere de uma conexão WMI com um namespace em um computador remoto. Para obter mais informações, consulte Windows Gerenciamento Remoto e WMI.

O exemplo de código VBScript a seguir é usado para chamar esse método.

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

Os exemplos a seguir mostram os diferentes formatos usados para especificar informações de conexão no parâmetro de conexão (ao criar uma sessão HTTPS, o < campo Endereço> deve corresponder ao nome do certificado do computador do servidor, caso contrário, ocorrerá uma falha):

  • "https://service"

    Usa HTTPS para se conectar ao local padrão do serviço Web.

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

    Usa HTTPS para se conectar ao local do serviço Web específico.

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

    Usa HTTPS e IPv6 com a porta padrão.

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

    Usa HTTPS e IPv6 com a porta fornecida.

Exemplos

O exemplo de código VBScript a seguir cria uma sessão no computador local.

 Set NewSession = Wsman.CreateSession   
   

O exemplo de código VBScript a seguir cria uma sessão em um computador remoto que é identificado por um endereço IP. O script fornece um nome de usuário e uma senha para uma conta. Os sinalizadores WSManFlagCredUserNamePassword e WSManFlagUseBasic são combinados para indicar que a conta é uma conta local no computador remoto. Se a criação da sessão falhar, o script será encerrado. O script usa os métodos que retornam a constante, como WSMan.SessionFlagUseBasic.

Para executar esse script, lembre-se de que você deve definir as configurações padrão para o cliente e o servidor para permitir o tráfego não criptografado e a autenticação básica (AllowUnencrypted definido como True e Basic definido como True). Para obter mais informações, consulte Instalação e Configuração para Windows Gerenciamento Remoto.

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) 

No exemplo de código VBScript a seguir, a conta é uma conta de domínio e a autenticação Negotiate é usada. Com a autenticação Negotiate, você deve especificar o nome de usuário como computername\username ou 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 Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
WSManDisp.h
IDL
WSManDisp.idl
Biblioteca
WSManDisp.tlb
DLL
WSMAuto.dll

Confira também

Wsman

Connectionoptions

Session

Autenticação para conexões remotas

Instalação e configuração para Windows gerenciamento remoto