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 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.
Valor retornado
Um objeto Session que pode ser usado para executar operações winRM locais ou remotas.
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 . 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 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 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 de serviço Web padrão.
"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]:99999/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 do Gerenciamento Remoto do 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)
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 |
|
IDL |
|
Biblioteca |
|
DLL |
|