Compartilhar via


Connect-PSSession

Reconecta-se a sessões desconectadas.

Sintaxe

Connect-PSSession
       -Name <String[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-Session] <PSSession[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ComputerName] <String[]>
       [-ApplicationName <String>]
       [-ConfigurationName <String>]
       [-Name <String[]>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-Port <Int32>]
       [-UseSSL]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ComputerName] <String[]>
       [-ApplicationName <String>]
       [-ConfigurationName <String>]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-Port <Int32>]
       [-UseSSL]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ConfigurationName <String>]
       [-ConnectionUri] <Uri[]>
       [-AllowRedirection]
       [-Name <String[]>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ConfigurationName <String>]
       [-ConnectionUri] <Uri[]>
       [-AllowRedirection]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       -InstanceId <Guid[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ThrottleLimit <Int32>]
       [-Id] <Int32[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

O Connect-PSSession cmdlet se reconecta às sessões do PowerShell gerenciadas pelo usuário (PSSessions) que foram desconectadas. Ele funciona em sessões que são desconectadas intencionalmente, como usando o Disconnect-PSSession cmdlet ou o parâmetro InDisconnectedSession do cmdlet, e aquelas que foram desconectadas involuntariamente, como por uma interrupção temporária da Invoke-Command rede.

Connect-PSSession pode se conectar a qualquer sessão desconectada que foi iniciada pelo mesmo usuário. Isso inclui aqueles que foram iniciados ou desconectados de outras sessões em outros computadores.

No entanto, Connect-PSSession não é possível conectar-se a sessões interrompidas ou fechadas ou sessões interativas iniciadas usando o Enter-PSSession cmdlet. Além disso, não é possível conectar sessões a sessões iniciadas por outros usuários, a menos que você possa fornecer as credenciais do usuário que criou a sessão.

Para obter mais informações sobre o recurso Sessões desconectadas, consulte about_Remote_Disconnected_Sessions.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Reconectar-se a uma sessão

Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 4 ITTask          Server01        Opened        ITTasks                  Available

Esse comando se reconecta à ITTask sessão no computador Server01.

A saída mostra que o comando teve êxito. O Estado da sessão é Opened e a Disponibilidade é Available, o que indica que você pode executar comandos na sessão.

Exemplo 2: Efeito de desconectar e reconectar

Get-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

Get-PSSession | Disconnect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Disconnected  Microsoft.PowerShell          None

Get-PSSession | Connect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

Este exemplo mostra o efeito de se desconectar e, em seguida, reconectar a uma sessão.

O primeiro comando usa o Get-PSSession cmdlet. Sem o parâmetro ComputerName , o comando obtém apenas as sessões que foram criadas na sessão atual.

A saída mostra que o comando obtém a Backups sessão no computador local. O estado da sessão é Opened e a disponibilidade é Available.

O segundo comando usa o Get-PSSession cmdlet para obter os objetos PSSession que foram criados na sessão atual e o Disconnect-PSSession cmdlet para desconectar as sessões. A saída mostra que a Backups sessão foi desconectada. O estado da sessão é Disconnected e a disponibilidade é None.

O terceiro comando usa o Get-PSSession cmdlet para obter os objetos PSSession que foram criados na sessão atual e o Connect-PSSession cmdlet para reconectar as sessões. A saída mostra que a Backups sessão foi reconectada. O estado da sessão é Opened e a disponibilidade é Available.

Se você usar o Connect-PSSession cmdlet em uma sessão que não está desconectada, o comando não afetará a sessão e não gerará erros.

Exemplo 3: Série de comandos em um cenário corporativo

Esta série de comandos mostra como o Connect-PSSession cmdlet pode ser usado em um cenário corporativo. Nesse caso, uma administradora do sistema inicia um trabalho de longa execução em uma sessão em um computador remoto. Após iniciar o trabalho, a administradora se desconecta da sessão e vai para casa. Mais tarde naquela noite, o administrador faz logon em seu computador doméstico e verifica se o trabalho foi executado até que seja concluído.

O administrador começa criando uma sessão em um computador remoto e executando um script na sessão. O primeiro comando usa o New-PSSession cmdlet para criar a ITTask sessão no computador remoto Server01. O comando usa o parâmetro ConfigurationName para especificar a configuração da ITTasks sessão. O comando salva as sessões na $s variável.

O segundo cmdlet de comando Invoke-Command para iniciar um trabalho em segundo plano na sessão na $s variável. Ele usa o parâmetro FilePath para executar o script no trabalho em segundo plano.

O terceiro comando usa o Disconnect-PSSession cmdlet para se desconectar da sessão na $s variável. O comando usa o parâmetro OutputBufferingMode com um valor de Drop para evitar que o script seja bloqueado por ter que entregar a saída para a sessão. Ele usa o parâmetro IdleTimeoutSec para estender o tempo limite da sessão para 15 horas. Quando o comando é concluído, o administrador bloqueia o computador e vai para casa à noite.

Mais tarde naquela noite, a administradora inicia seu computador doméstico, faz logon na rede corporativa e inicia o PowerShell. O quarto comando usa o Get-PSSession cmdlet para obter as sessões no computador Server01. O comando localiza a ITTask sessão. O quinto comando usa o Connect-PSSession cmdlet para se conectar à ITTask sessão. O comando salva a sessão na variável $s.

O sexto comando usa o Invoke-Command cmdlet para executar um Get-Job comando na sessão na $s variável. A saída mostra que o trabalho foi concluído com êxito. O sétimo comando usa o Invoke-Command cmdlet para executar um Receive-Job comando na sessão na $s variável na sessão. O comando salva os resultados na $BackupSpecs variável. O oitavo comando usa o Invoke-Command cmdlet para executar outro script na sessão. O comando usa o $BackupSpecs valor da variável na sessão como entrada para o script.

$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Running       True            Server01             \\Server30\Scripts\Backup...

Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

Get-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

$s = Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Opened        ITTasks               Available

Invoke-Command -Session $s -ScriptBlock {Get-Job}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Completed     True            Server01             \\Server30\Scripts\Backup...

Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

O nono comando se desconecta da sessão na $s variável. O administrador fecha o PowerShell e fecha o computador. Ela pode se reconectar à sessão no dia seguinte e verificar o status do script em seu computador de trabalho.

Parâmetros

-AllowRedirection

Indica que esse cmdlet permite o redirecionamento dessa conexão para um URI alternativo.

Quando você usa o parâmetro ConnectionURI , o destino remoto pode retornar uma instrução para redirecionar para um URI diferente. Por padrão, o PowerShell não redireciona conexões, mas você pode usar esse parâmetro para permitir que ele redirecione a conexão.

Você também pode limitar o número de vezes que a conexão é redirecionada alterando o valor da opção de sessão MaximumConnectionRedirectionCount . Use o parâmetro MaximumRedirection do New-PSSessionOption cmdlet ou defina a propriedade MaximumConnectionRedirectionCount da variável de preferência $PSSessionOption . O valor padrão é 5.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ApplicationName

Especifica o nome de um aplicativo. Esse cmdlet se conecta apenas a sessões que usam o aplicativo especificado.

Insira o segmento de nome de aplicativo do URI de conexão. Por exemplo, no URI de conexão a seguir, o nome do aplicativo é WSMan: http://localhost:5985/WSMAN. O nome do aplicativo de uma sessão é armazenado na propriedade Runspace.ConnectionInfo.AppName da sessão.

O valor desse parâmetro é usado para selecionar e filtrar sessões. Ele não altera o aplicativo utilizado pela sessão.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Authentication

Especifica o mecanismo usado para autenticar as credenciais do usuário no comando para se reconectar à sessão desconectada. Os valores aceitáveis para esse parâmetro são:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

O valor padrão é Default.

Para obter mais informações sobre os valores desse parâmetro, consulte Enumeração AuthenticationMechanism.

Cuidado

A autenticação do Provedor de Suporte à Segurança de Credenciais (CredSSP), na qual as credenciais do usuário são passadas para um computador remoto para serem autenticadas, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Esse mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas a ele podem ser usadas para controlar a sessão de rede.

Tipo:AuthenticationMechanism
Valores aceitos:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificateThumbprint

Especifica o certificado de chave pública digital (X509) de uma conta de usuário com permissão para se conectar à sessão desconectada. Insira a impressão digital do certificado.

Certificados digitais são empregados na autenticação de clientes baseada em certificados. 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 do certificado, use um Get-Item comando ou Get-ChildItem na unidade do PowerShell Cert: .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ComputerName

Especifica os computadores nos quais as sessões desconectadas estão armazenadas. As sessões são armazenadas no computador que está no lado do servidor ou na extremidade receptora de uma conexão. O padrão é o computador local.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um computador. Caracteres curinga não são permitidos. Para especificar o computador local, digite o nome localhostdo computador ou um ponto (.)

Tipo:String[]
Aliases:Cn
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ConfigurationName

Conecta-se somente a sessões que usam a configuração de sessão especificada.

Insira um nome de configuração ou o URI do recurso totalmente qualificado para uma configuração de sessão. Se você especificar apenas o nome da configuração, o seguinte URI de esquema será anexado: http://schemas.microsoft.com/powershell. O nome da configuração de uma sessão é armazenado na propriedade ConfigurationName da sessão.

O valor desse parâmetro é usado para selecionar e filtrar sessões. Ele não altera a configuração de sessão utilizada pela sessão.

Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ConnectionUri

Especifica os URIs dos pontos de extremidade de conexão para as sessões desconectadas.

O URI deve ser totalmente qualificado. O formato dessa cadeia de caracteres é o seguinte:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

O valor padrão é o seguinte:

http://localhost:5985/WSMAN

Se você não especificar um URI de conexão, poderá usar os parâmetros UseSSL e Port para especificar os valores de URI de conexão.

Os valores válidos para o segmento Transport do URI são HTTP e HTTPS. Se você especificar um URI de conexão com um segmento de transporte, mas não especificar uma porta, a sessão será criada com portas padrão: 80 para HTTP e 443 para HTTPS. Para usar as portas padrão para comunicação remota do PowerShell, especifique a porta 5985 para HTTP ou 5986 para HTTPS.

Se o computador de destino redirecionar a conexão para um URI diferente, o PowerShell impedirá o redirecionamento, a menos que você use o parâmetro AllowRedirection no comando.

Tipo:Uri[]
Aliases:URI, CU
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem permissão para se conectar à sessão desconectada. O padrão é o usuário atual.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo Get-Credential cmdlet. Se você digitar um nome de usuário, será solicitado que você insira a senha.

As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.

Observação

Para obter mais informações sobre a proteção de dados do SecureString , consulte Quão seguro é o SecureString?.

Tipo:PSCredential
Cargo:Named
Valor padrão:Current user
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Id

Especifica as IDs das sessões desconectadas. O parâmetro Id funciona somente quando a sessão desconectada foi conectada anteriormente à sessão atual.

Este parâmetro é válido, mas não é eficaz, quando a sessão está armazenada no computador local, mas não estava conectada à sessão atual.

Tipo:Int32[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-InstanceId

Especifica as IDs de instância das sessões desconectadas.

A ID da instância é um GUID que identifica exclusivamente um PSSession em um computador local ou remoto.

A ID da instância é armazenada na propriedade InstanceID do PSSession.

Tipo:Guid[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifica os nomes amigáveis das sessões desconectadas.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Port

Especifica a porta de rede no computador remoto que é usada para se reconectar à sessão. Para se conectar a um computador remoto, este deve estar escutando na porta usada pela conexão. As portas padrão são 5985, que é a porta WinRM para HTTP, e 5986, que é a porta WinRM para HTTPS.

Antes de usar uma porta alternativa, você deve configurar o ouvinte de WinRM no computador remoto para escutar na porta. Para configurar o ouvinte, digite os dois comandos a seguir no prompt do PowerShell:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Não use o parâmetro Port , a menos que seja necessário. A porta que está definida no comando se aplica a todos os computadores ou sessões em que o comando é executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Session

Especifica as sessões desconectadas. Insira uma variável que contenha os objetos PSSession ou um comando que crie ou obtenha os objetos PSSession , como um Get-PSSession comando.

Tipo:PSSession[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-SessionOption

Especifica opções avançadas para a sessão. Insira um objeto SessionOption , como um que você cria usando o New-PSSessionOption cmdlet, ou uma tabela de hash na qual as chaves são nomes de opção de sessão e os valores são valores de opção de sessão.

Os valores padrão para as opções são determinados pelo valor da variável de $PSSessionOption preferência, se ela estiver definida. Caso contrário, os valores padrão são estabelecidos por opções definidas na configuração da sessão.

Os valores de opção de sessão têm precedência sobre os valores padrão para sessões definidas na $PSSessionOption variável de preferência e na configuração da sessão. No entanto, eles não têm precedência sobre valores máximos, cotas ou limites definidos na configuração da sessão.

Para obter uma descrição das opções de sessão que inclui os valores padrão, consulte New-PSSessionOption. Para obter informações sobre a variável de preferência $PSSessionOption, consulte about_Preference_Variables. Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Tipo:PSSessionOption
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ThrottleLimit

Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o comando. Se você omitir esse parâmetro ou inserir um valor de 0, o valor padrão, 32, será usado.

O limite de aceleração aplica-se somente ao comando atual e não à sessão ou ao computador.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseSSL

Indica que esse cmdlet usa o protocolo SSL (Secure Sockets Layer) para se conectar à sessão desconectada. Por padrão, SSL não é usado.

O WS-Management criptografa todo o conteúdo do PowerShell transmitido pela rede. O parâmetro UseSSL é uma proteção adicional que envia os dados por uma conexão HTTPS em vez de uma conexão HTTP.

Se você usar esse parâmetro, mas o SSL não estiver disponível na porta usada para o comando, o comando falhará.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSSession

Você pode canalizar uma sessão (PSSession) para esse cmdlet.

Saídas

PSSession

Esse cmdlet retorna um objeto que representa a sessão à qual ele se reconectou.

Observações

O Windows PowerShell inclui os seguintes aliases para Connect-PSSession:

  • cnsn

  • Esse cmdlet só está disponível em plataformas Windows.

  • Connect-PSSession reconecta-se apenas a sessões desconectadas, ou seja, sessões que têm um valor de Desconectado para a propriedade State . Somente as sessões conectadas ou terminadas em computadores que executam o Windows PowerShell 3.0 ou versões posteriores podem ser desconectadas e reconectadas.

  • Se você usar Connect-PSSession em uma sessão que não está desconectada, o comando não afetará a sessão e não gerará erros.

  • Sessões de loopback desconectadas com tokens interativos, que são criadas usando o parâmetro EnableNetworkAccess , podem ser reconectadas somente do computador no qual a sessão foi criada. Essa restrição protege o computador contra acessos mal-intencionados.

  • O valor da propriedade State de um PSSession é relativo à sessão atual. Portanto, um valor de Disconnected significa que o PSSession não está conectado à sessão atual. No entanto, isso não significa que o PSSession esteja desconectado de todas as sessões . Ela pode ser conectada a uma sessão diferente. Para determinar se você pode se conectar ou reconectar à sessão, use a propriedade Disponibilidade .

    Um valor de Disponibilidade de Nenhum indica que você pode se conectar à sessão. Um valor de Ocupado indica que você não pode se conectar ao PSSession porque ele está conectado a outra sessão.

    Para obter mais informações sobre os valores da propriedade State das sessões, consulte Enumeração RunspaceState.

    Para obter mais informações sobre os valores da propriedade Availability das sessões, consulte Enumeração RunspaceAvailability.

  • Você não pode alterar o valor de tempo limite ocioso de um PSSession ao se conectar ao PSSession. O parâmetro SessionOption usa Connect-PSSession um objeto SessionOption que tem um valor IdleTimeout . No entanto, o valor IdleTimeout do objeto SessionOption e o valor IdleTimeout da $PSSessionOption variável são ignorados ao se conectar a um PSSession.

    Você pode definir e alterar o tempo limite ocioso de um PSSession ao criar o PSSession, usando os New-PSSession cmdlets or Invoke-Command e ao se desconectar do PSSession.

    A propriedade IdleTimeout de um PSSession é crítica para sessões desconectadas, pois determina por quanto tempo uma sessão desconectada é mantida no computador remoto. Sessões desconectadas são consideradas ociosas desde o momento em que são desconectadas, ainda que comandos estejam em execução na sessão desconectada.