Habilitar a Conexão de Área de Trabalho Remota para uma Função nos Serviços de Nuvem do Azure (clássico) usando o PowerShell

Importante

Os Serviços de Nuvem (clássicos) agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024 para todos os clientes. Novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido).

A Área de Trabalho Remota permite que você acesse a área de trabalho de uma função em execução no Azure. Você pode usar uma conexão de Área de Trabalho Remota para solucionar e diagnosticar problemas com seu aplicativo enquanto ele está em execução.

Este artigo descreve como habilitar a área de trabalho remota em suas funções de serviço de nuvem usando o PowerShell. Consulte Como instalar e configurar o Azure PowerShell para obter os pré-requisitos necessários para este artigo. O PowerShell utiliza a Extensão de Área de Trabalho Remota para que você possa habilitar a Área de Trabalho Remota após a implantação do aplicativo.

Configurar a Área de Trabalho Remota a partir do PowerShell

O cmdlet Set-AzureServiceRemoteDesktopExtension permite habilitar a Área de Trabalho Remota em funções especificadas ou em todas as funções da implantação do serviço de nuvem. O cmdlet permite especificar o Nome de Usuário e a Senha para o usuário da área de trabalho remota por meio do parâmetro Credential que aceita um objeto PSCredential.

Se você estiver usando o PowerShell interativamente, poderá definir facilmente o objeto PSCredential chamando o cmdlet Get-Credentials .

$remoteusercredentials = Get-Credential

Este comando exibe uma caixa de diálogo que permite inserir o nome de usuário e a senha do usuário remoto de maneira segura.

Como o PowerShell ajuda em cenários de automação, você também pode configurar o objeto PSCredential de uma forma que não exija interação do usuário. Primeiro, você precisa configurar uma senha segura. Você começa especificando uma senha de texto simples, converte-a em uma cadeia de caracteres segura usando ConvertTo-SecureString. Em seguida, você precisa converter essa cadeia de caracteres segura em uma cadeia de caracteres padrão criptografada usando ConvertFrom-SecureString. Agora você pode salvar essa cadeia de caracteres padrão criptografada em um arquivo usando Set-Content.

Você também pode criar um arquivo de senha segura para que você não precise digitar a senha toda vez. Além disso, um arquivo de senha segura é melhor do que um arquivo de texto simples. Use o seguinte PowerShell para criar um arquivo de senha seguro:

ConvertTo-SecureString -String "Password123" -AsPlainText -Force | ConvertFrom-SecureString | Set-Content "password.txt"

Importante

Ao definir a senha, certifique-se de atender aos requisitos de complexidade.

Para criar o objeto de credencial a partir do arquivo de senha segura, você deve ler o conteúdo do arquivo e convertê-lo de volta em uma cadeia de caracteres segura usando ConvertTo-SecureString.

O cmdlet Set-AzureServiceRemoteDesktopExtension também aceita um parâmetro Expiration , que especifica um DateTime no qual a conta de usuário expira. Por exemplo, você pode definir a conta para expirar alguns dias a partir da data e hora atuais.

Este exemplo do PowerShell mostra como definir a Extensão de Área de Trabalho Remota em um serviço de nuvem:

$servicename = "cloudservice"
$username = "RemoteDesktopUser"
$securepassword = Get-Content -Path "password.txt" | ConvertTo-SecureString
$expiry = $(Get-Date).AddDays(1)
$credential = New-Object System.Management.Automation.PSCredential $username,$securepassword
Set-AzureServiceRemoteDesktopExtension -ServiceName $servicename -Credential $credential -Expiration $expiry

Opcionalmente, você também pode especificar o slot de implantação e as funções nas quais deseja habilitar a área de trabalho remota. Se esses parâmetros não forem especificados, o cmdlet habilitará a área de trabalho remota em todas as funções no slot de implantação de produção .

A extensão da Área de Trabalho Remota está associada a uma implantação. Se você criar uma nova implantação para o serviço, precisará habilitar a área de trabalho remota nessa implantação. Se você sempre quiser ter a área de trabalho remota habilitada, considere integrar os scripts do PowerShell ao seu fluxo de trabalho de implantação.

Área de Trabalho Remota em uma instância de função

O cmdlet Get-AzureRemoteDesktopFile é usado para a área de trabalho remota em uma instância de função específica do seu serviço de nuvem. Você pode usar o parâmetro LocalPath para baixar o arquivo RDP localmente. Ou você pode usar o parâmetro Launch para iniciar diretamente a caixa de diálogo Conexão de Área de Trabalho Remota para acessar a instância de função do serviço de nuvem.

Get-AzureRemoteDesktopFile -ServiceName $servicename -Name "WorkerRole1_IN_0" -Launch

Verificar se a extensão de Ambiente de Trabalho Remoto está ativada num serviço

O cmdlet Get-AzureServiceRemoteDesktopExtension exibe que a área de trabalho remota está habilitada ou desabilitada em uma implantação de serviço. O cmdlet retorna o nome de usuário do usuário da área de trabalho remota e as funções para as quais a extensão da área de trabalho remota está habilitada. Por padrão, isso acontece no slot de implantação e você pode optar por usar o slot de preparo.

Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename

Remover a extensão de Ambiente de Trabalho Remoto de um serviço

Se você já tiver habilitado a extensão de área de trabalho remota em uma implantação e precisar atualizar as configurações da área de trabalho remota, primeiro remova a extensão. E habilite-o novamente com as novas configurações. Por exemplo, se você quiser definir uma nova senha para a conta de usuário remoto ou se a conta expirou. Isso é necessário em implantações existentes que tenham a extensão de área de trabalho remota habilitada. Para novas implantações, você pode simplesmente aplicar a extensão diretamente.

Para remover a extensão de área de trabalho remota da implantação, você pode usar o cmdlet Remove-AzureServiceRemoteDesktopExtension . Opcionalmente, você também pode especificar o slot de implantação e a função da qual deseja remover a extensão da área de trabalho remota.

Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration

Nota

Para remover completamente a configuração da extensão, você deve chamar o cmdlet remove com o parâmetro UninstallConfiguration.

O parâmetro UninstallConfiguration desinstala qualquer configuração de extensão aplicada ao serviço. Cada configuração de extensão está associada à configuração do serviço. Chamar o cmdlet remove sem UninstallConfiguration desassocia a implantação da configuração da extensão, removendo efetivamente a extensão. No entanto, a configuração da extensão permanece associada ao serviço.

Recursos adicionais

Como configurar um Serviços Cloud