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 na Nuvem (clássicos) foram preteridos para todos os clientes a partir de 1º de setembro de 2024. Todas as implantações em execução existentes serão interrompidas e encerradas pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. 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 é executado.
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ê usar 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 (Remote Desktop Protocol) 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, o slot de implantação é usado, mas 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á habilitou a extensão de área de trabalho remota em uma implantação e precisa atualizar as configurações da área de trabalho remota, primeiro remova a extensão. Em seguida, 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 a conta expirou. Fazer essa etapa é necessário em implantações existentes que tenham a extensão de área de trabalho remota habilitada. Para novas implantações, você pode 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.