Partilhar via


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: <Sufixo> deEndereço><de Transporte><. Para obter exemplos, consulte Observações. Se nenhuma informação de conexão for fornecida, o computador local será usado.

bandeiras [in, opcional]

Os sinalizadores de sessão que especificam o método de autenticação, como autenticação Negociar ou 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. Este parâmetro deve conter um ou mais dos 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 [em, opcional]

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

Valor de retorno

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

Observações

O método CreateSession inicializa o objeto Session reunindo parâmetros, como sinalizadores, credenciais e uma cadeia de conexão para o parâmetro connection . 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 Session , como Get ou Enumerate, após a chamada para CreateSession. Esse comportamento difere de uma conexão WMI para um namespace em um computador remoto. Para obter mais informações, consulte Gerenciamento Remoto do Windows 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 connection (ao criar uma sessão HTTPS, o < campo Endereço> deve corresponder ao nome do certificado do computador 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 específico do serviço Web.

  • "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 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 definições de configuração padrão para cliente e servidor para permitir tráfego não criptografado e 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 o gerenciamento remoto do Windows.

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "<username>"
Options.Password = "<password>"
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 Negociar, 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\<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

Requerimentos

Requisito Valor
Cliente mínimo suportado
Windows Vista
Servidor mínimo suportado
Windows Server 2008
Cabeçalho
WSManDisp.h
IDL
WSManDisp.idl
Biblioteca
WSManDisp.tlb
DLL
WSMAuto.dll

Ver também

WSMan

Opções de conexão

Sessão

autenticação para conexões remotas

Instalação e Configuração para o Gerenciamento Remoto do Windows