Connect-WSMan
Conecta-se ao serviço WinRM em um computador remoto.
Sintaxe
ComputerName (Predefinição)
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 mudar 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: Ligar 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
Este comando cria uma conexão com o computador remoto server01.
O cmdlet
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
Este 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, armazena-as 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 no $cred para Connect-WSMan. Connect-WSMan se conecta ao servidor do sistema remoto01 usando as credenciais de Administrador.
Exemplo 3: Ligar a um computador remoto através 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
Este comando cria uma conexão com o computador remoto server01 pela porta 80.
Exemplo 4: Ligar a um computador remoto utilizando opções de ligaçã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 remoto server01 usando as opções de conexão definidas no comando
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 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 remoto server01 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 para o ponto de extremidade remoto está no seguinte formato:
<transporte>://<server>:<port>/<ApplicationName>
Por exemplo: http://server01:8080/WSMAN
O IIS (Serviços de Informações da Internet), que hospeda a sessão, encaminha solicitações com esse ponto de extremidade para o aplicativo especificado. Essa configuração padrão do WSMAN é apropriada para a maioria dos usos. Esse parâmetro foi 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 Serviços Web para Gerenciamento (WS-Management) para eficiência.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | Wsman |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ComputerName
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 em que o nome de usuário e senha são enviados em texto não criptografado para o servidor ou proxy.
- Predefinição. Use o método de autenticação implementado pelo protocolo WS-Management. Este é o padrão.
- Digesto. Digest é um esquema de desafio-resposta que usa uma cadeia de dados especificada pelo servidor para o desafio.
- Kerberos. O computador cliente e o servidor autenticam-se 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 a negociação para determinar se o protocolo Kerberos ou NTLM é usado.
- CredSSP. Use a autenticação CredSSP (Credential Security Support Provider), que permite ao usuário delegar credenciais. Esta opção foi concebida para comandos que são executados num computador remoto, mas recolhem dados ou executam comandos adicionais noutros computadores remotos.
Cuidado: CredSSP delega as credenciais do usuário do computador local para um computador remoto. Esta 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 dos parâmetros
| Tipo: | AuthenticationMechanism |
| Default value: | Default |
| Valores aceites: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | autenticação, sou |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 (thumbprint) do certificado.
Os certificados são usados na autenticação baseada em certificado de cliente. Eles podem ser mapeados apenas para contas de usuário locais; 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 na unidade Windows PowerShell Cert:.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 está em um domínio diferente do usuário, você deve usar um nome de domínio totalmente qualificado deve ser usado. Você pode canalizar um valor para esse parâmetro para o cmdlet.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | Localhost |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | China |
Conjuntos de parâmetros
ComputerName
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ConnectionURI
Especifica o ponto de extremidade de conexão. O formato desta cadeia de caracteres é o seguinte:
Transporte <>://<Server>:<Port>/<ApplicationName>
A cadeia de caracteres a seguir é um valor formatado corretamente para esse parâmetro:
http://Server01:8080/WSMAN
O URI deve ser totalmente qualificado.
Propriedades dos parâmetros
| Tipo: | Uri |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
URI
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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
Propriedades dos parâmetros
| Tipo: | PSCredential |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | CRED, c |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-OptionSet
Especifica um conjunto de opções para um serviço para modificar ou refinar a natureza da solicitação. Essas opções se assemelham a opções usadas em shells de linha de comando porque são específicas 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 dos parâmetros
| Tipo: | Hashtable |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | o |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-SessionOption
Especifica opções estendidas para a sessão WS-Management.
Insira um SessionOption objeto que você cria usando o cmdlet New-WSManSessionOption.
Para obter mais informações sobre as opções disponíveis, digite Get-Help New-WSManSessionOption.
Propriedades dos parâmetros
| Tipo: | SessionOption |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | so |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ComputerName
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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
Este cmdlet não aceita nenhuma entrada.
Saídas
None
Este cmdlet não gera nenhuma saída.
Notas
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.