Compartilhar via


Connect-WSMan

Conecta-se ao serviço WinRM em um computador remoto.

Sintaxe

ComputerName (Default)

Connect-WSMan
    [[-ComputerName] <String>]
    [-ApplicationName <String>]
    [-OptionSet <Hashtable>]
    [-Port <Int32>]
    [-SessionOption <SessionOption>]
    [-UseSSL]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

URI

Connect-WSMan
    [-ConnectionURI <Uri>]
    [-OptionSet <Hashtable>]
    [-Port <Int32>]
    [-SessionOption <SessionOption>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

Description

O cmdlet Connect-WSMan se conecta ao serviço WinRM em um computador remoto e estabelece uma conexão persistente com o computador remoto. Você pode usar esse cmdlet no contexto do provedor WSMan para se conectar ao serviço WinRM em um computador remoto. No entanto, você também pode usar esse cmdlet para se conectar ao serviço WinRM em um computador remoto antes de alterar para o provedor WSMan. O computador remoto aparece no diretório raiz do provedor WSMan.

Credenciais explícitas são necessárias quando os computadores cliente e servidor estão em domínios ou grupos de trabalho diferentes.

Para obter informações sobre como se desconectar do serviço WinRM em um computador remoto, consulte o cmdlet Disconnect-WSMan.

Exemplos

Exemplo 1: conectar-se a um computador remoto

PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Esse comando cria uma conexão com o computador server01 remoto.

O cmdlet Connect-WSMan geralmente é usado no contexto do provedor WSMan para se conectar a um computador remoto, nesse caso, o computador server01. No entanto, você pode usar o cmdlet para estabelecer conexões com computadores remotos antes de alterar para o provedor WSMan. Essas conexões aparecem na lista ComputerName.

Exemplo 2: Conectar-se a um computador remoto usando credenciais de administrador

PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Esse comando cria uma conexão com o servidor do sistema remoto01 usando as credenciais da conta de administrador.

O primeiro comando usa o cmdlet Get-Credential para obter as credenciais de Administrador e, em seguida, as armazena na variável $cred. Get-Credential solicita uma senha de nome de usuário e senha por meio de uma caixa de diálogo ou na linha de comando, dependendo das configurações do registro do sistema.

O segundo comando usa o parâmetro Credential para passar as credenciais armazenadas em $cred para Connect-WSMan. Connect-WSMan se conecta ao servidor do sistema remoto01 usando as credenciais de Administrador.

Exemplo 3: conectar-se a um computador remoto por meio de uma porta especificada

PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Esse comando cria uma conexão com o computador server01 remoto pela porta 80.

Exemplo 4: Conectar-se a um computador remoto usando opções de conexão

PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Este exemplo cria uma conexão com o computador server01 remoto usando as opções de conexão definidas no comando New-WSManSessionOption.

O primeiro comando usa New-WSManSessionOption para armazenar um conjunto de opções de configuração de conexão na variável $a. Nesse caso, as opções de sessão definem um tempo limite de conexão de 30 segundos (30.000 milissegundos).

O segundo comando usa o parâmetro SessionOption para passar as credenciais armazenadas na variável $a para Connect-WSMan. Em seguida, Connect-WSMan se conecta ao computador server01 remoto usando as opções de sessão especificadas.

Parâmetros

-ApplicationName

Especifica o nome do aplicativo na conexão. O valor padrão do parâmetro ApplicationName é WSMAN. O identificador completo do ponto de extremidade remoto está no seguinte formato:

< >de transporte :///<de servidor de>:<de porta>/<ApplicationName>

Por exemplo: http://server01:8080/WSMAN

O IIS (Serviços de Informações da Internet), que hospeda a sessão, redireciona requisições por meio deste endpoint para o aplicativo especificado. Essa configuração padrão do WSMAN é apropriada para a maioria dos usos. Esse parâmetro será projetado para ser usado se muitos computadores estabelecerem conexões remotas com um computador que esteja executando o Windows PowerShell. Nesse caso, o IIS hospeda os Serviços Web para Gerenciamento (WS-Management) para obter eficiência.

Propriedades do parâmetro

Tipo:String
Valor padrão:Wsman
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ComputerName
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Authentication

Especifica o mecanismo de autenticação a ser usado no servidor. Os valores aceitáveis para este parâmetro são:

  • Básico. Básico é um esquema no qual o nome de usuário e a senha são enviados em texto claro para o servidor ou proxy.
  • Padrão. Use o método de autenticação implementado pelo protocolo WS-Management. Esse é o padrão.
  • Digerir. Digest é um esquema de desafio-resposta que usa uma cadeia de caracteres de dados especificada pelo servidor para o desafio.
  • Cérbero. O computador cliente e o servidor se autenticam mutuamente usando certificados Kerberos.
  • Negociar. Negociar é um esquema de desafio-resposta que negocia com o servidor ou proxy para determinar o esquema a ser usado para autenticação. Por exemplo, esse valor de parâmetro permite que a negociação determine se o protocolo Kerberos ou NTLM é usado.
  • CredSSP. Use a autenticação credSSP (Provedor de Suporte à Segurança de Credencial), que permite que o usuário delegar credenciais. Essa opção foi projetada para comandos executados em um computador remoto, mas coletam dados ou executam comandos adicionais em outros computadores remotos.

Cuidado: o CredSSP delega as credenciais do usuário do computador local para um computador remoto. Essa prática aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, quando as credenciais forem passadas para ele, as credenciais poderão ser usadas para controlar a sessão de rede.

Propriedades do parâmetro

Tipo:AuthenticationMechanism
Valor padrão:Default
Valores aceitos:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Dá suporte a curingas:False
DontShow:False
Aliases:autenticação, am

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CertificateThumbprint

Especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para executar essa ação. Insira a impressão digital do certificado.

Os certificados são usados na autenticação baseada em certificado do cliente. Eles podem ser mapeados apenas para contas de usuário local; eles não funcionam com contas de domínio.

Para obter uma impressão digital de certificado, use o comando Get-Item ou Get-ChildItem no Certificado do Windows PowerShell: unidade.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ComputerName

Especifica o computador no qual executar a operação de gerenciamento. O valor pode ser um nome de domínio totalmente qualificado, um nome NetBIOS ou um endereço IP. Use o nome do computador local, use localhost ou use um ponto (.) para especificar o computador local. O computador local é o padrão. Quando o computador remoto estiver em um domínio diferente do usuário, você deverá usar um nome de domínio totalmente qualificado. Você pode redirecionar um valor para esse parâmetro para o cmdlet.

Propriedades do parâmetro

Tipo:String
Valor padrão:Localhost
Dá suporte a curingas:False
DontShow:False
Aliases:cn

Conjuntos de parâmetros

ComputerName
Cargo:0
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ConnectionURI

Especifica o ponto de extremidade de conexão. O formato dessa cadeia de caracteres é o seguinte:

<de Transporte >:///<do Servidor>:<>de Porta/<ApplicationName>

A seguinte cadeia de caracteres é um valor formatado corretamente para este parâmetro:

http://Server01:8080/WSMAN

O URI deve ser totalmente qualificado.

Propriedades do parâmetro

Tipo:Uri
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

URI
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Credential

Especifica uma conta de usuário que tem permissão para executar essa ação. O padrão é o usuário atual. Digite um nome de usuário, como User01, Domain01\User01 ou User@Domain.com. Ou insira um objeto PSCredential, como um retornado pelo cmdlet Get-Credential. Quando você digita um nome de usuário, esse cmdlet solicita uma senha.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:cred, c

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-OptionSet

Especifica um conjunto de opções para um serviço para modificar ou refinar a natureza da solicitação. Eles são semelhantes a comutadores usados em shells de linha de comando porque são específicos do serviço. Qualquer número de opções pode ser especificado.

O exemplo a seguir demonstra a sintaxe que passa os valores 1, 2 e 3 para os parâmetros a, b e c:

-OptionSet @{a=1;b=2;c=3}

Propriedades do parâmetro

Tipo:Hashtable
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:so

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Port

Especifica a porta a ser usada quando o cliente se conecta ao serviço WinRM. Quando o transporte é HTTP, a porta padrão é 80. Quando o transporte é HTTPS, a porta padrão é 443.

Quando você usa HTTPS como transporte, o valor do parâmetro ComputerName deve corresponder ao CN (nome comum do certificado) do servidor. No entanto, se o parâmetro SkipCNCheck for especificado como parte do parâmetro SessionOption, o nome comum do servidor não precisará corresponder ao nome do host do servidor. O parâmetro SkipCNCheck deve ser usado apenas para computadores confiáveis.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-SessionOption

Especifica opções estendidas para a sessão de WS-Management. Insira um objeto SessionOption criado usando o cmdlet New-WSManSessionOption. Para obter mais informações sobre as opções disponíveis, digite Get-Help New-WSManSessionOption.

Propriedades do parâmetro

Tipo:SessionOption
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:SO

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-UseSSL

Especifica que o protocolo SSL (Secure Sockets Layer) é usado para estabelecer uma conexão com o computador remoto. Por padrão, o SSL não é usado.

WS-Management criptografa todo o conteúdo do Windows PowerShell transmitido pela rede. O parâmetro UseSSL permite especificar a proteção adicional de HTTPS em vez de HTTP. Se o SSL não estiver disponível na porta usada para a conexão e você especificar esse parâmetro, o comando falhará.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ComputerName
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Esse cmdlet não aceita nenhuma entrada.

Saídas

None

Este cmdlet não gera saída.

Observações

  • Você pode executar comandos de gerenciamento ou consultar dados de gerenciamento em um computador remoto sem criar uma sessão WS-Management. Você pode fazer isso usando os parâmetros ComputerName de Invoke-WSManAction e Get-WSManInstance. Quando você usa o parâmetro ComputerName, o Windows PowerShell cria uma conexão temporária que é usada para o comando único. Depois que o comando é executado, a conexão é fechada.