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) estão obsoletos para todos os clientes desde 1º de setembro de 2024. Qualquer implantação em execução existente será interrompida e desligada pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. As 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 diagnosticar e solucionar problemas com seu aplicativo durante a 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 os pré-requisitos necessários para este artigo. O PowerShell usa a Extensão da Área de Trabalho Remota para que você possa habilitar a Área de Trabalho Remota depois que o aplicativo for implantado.
Configurar a Área de Trabalho Remota por meio do PowerShell
O cmdlet Set-AzureServiceRemoteDesktopExtension permite habilitar a Área de Trabalho Remota em funções especificadas ou todas as funções da implantação do serviço de nuvem. O cmdlet permite que você especifique 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
Esse comando exibirá uma caixa de diálogo, permitindo que você insira o nome de usuário e a senha para o usuário remoto de modo seguro.
Já que o PowerShell ajuda em cenários de automação, você também pode configurar o objeto PSCredential de modo que não exija interação do usuário. Primeiro, você precisa configurar uma senha de segurança. Comece com a especificação de uma senha de texto sem formatação e converta-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 criptografada padrão usando ConvertFrom-SecureString. Agora você pode salvar essa cadeia de caracteres criptografada padrão em um arquivo, usando Set-Content.
Você também pode criar um arquivo de senha segura para que não precise digitar a senha em todas as ocasiões. Além disso, um arquivo de senha segura é melhor do que um arquivo de texto sem formatação. Use o PowerShell a seguir para criar um arquivo de senha de segurança:
ConvertTo-SecureString -String "Password123" -AsPlainText -Force | ConvertFrom-SecureString | Set-Content "password.txt"
Importante
Ao definir a senha, atenda aos requisitos de complexidade.
Para criar o objeto de credencial com base no arquivo de senha segura, você deve ler os conteúdos do arquivo e convertê-los novamente em uma cadeia de caracteres segura, usando ConvertTo-SecureString.
O cmdlet Set-AzureServiceRemoteDesktopExtension também aceita um parâmetro Expiration que especifica um DateTime (data e hora) em que a conta de usuário vai expirar. Por exemplo, você pode definir a conta a expirar em alguns dias após a data e hora atuais.
Este PowerShell de exemplo 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
Você também pode especificar o slot de implantação e as funções em que 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 de Área de Trabalho Remota está associada uma implantação. Se você criar uma nova implantação para o serviço, precisará habilitar novamente a área de trabalho remota nessa implantação. Se você sempre quiser ter a área de trabalho remota habilitada em suas implantações, deverá considerar a integração dos scripts do PowerShell em 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 serviço de nuvem. Você pode usar o parâmetro LocalPath para baixar o arquivo RDP (Protocolo de Área de Trabalho Remota) 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
Verifique se a extensão de Área de Trabalho Remota está habilitada em um serviço
O cmdlet Get-AzureServiceRemoteDesktopExtension exibe se a área de trabalho remota está habilitada ou desabilitada em uma implantação de serviço. O cmdlet retorna o nome de usuário para o usuário de área de trabalho remota e as funções nas quais a extensão de á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 Área de Trabalho Remota de um serviço
Se você já tiver habilitado a extensão da área de trabalho remota em uma implantação e precisar atualizar as configurações da área de trabalho remota, primeiro remova a extensão. Em seguida, habilite-a 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 tiver expirado. Essa etapa é necessária em implantações existentes que têm a extensão da área de trabalho remota habilitada. Para as novas implantações, você pode aplicar a extensão de forma direta.
Para remover a extensão de área de trabalho remota de uma implantação, você poderá usar o cmdlet Remove-AzureServiceRemoteDesktopExtension . Você também pode especificar o slot de implantação e a função dos quais você deseja remover a extensão da área de trabalho remota.
Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
Observação
Para remover completamente a configuração de 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. Todas as configurações de extensão estão associadas à configuração do serviço. Chamar o cmdlet remove sem UninstallConfiguration dissocia a implantação da configuração de extensão, removendo assim efetivamente a extensão. No entanto, a configuração de extensão permanece associada ao serviço.