Настройка подключения к удаленному рабочему столу для роли в Облачных службах Azure (классических) с помощью PowerShell
Внимание
Облачные службы (классическая версия) теперь устарела для всех клиентов с 1 сентября 2024 года. Все существующие запущенные развертывания будут остановлены и завершены корпорацией Майкрософт, и данные будут постоянно потеряны начиная с октября 2024 года. Для новых развертываний следует использовать Облачные службы Azure с расширенной поддержкой. Это новая модель развертывания на основе Azure Resource Manager.
С помощью удаленного рабочего стола обеспечивается доступ к рабочему столу экземпляра, работающего в Azure. Подключение к удаленному рабочему столу можно использовать для устранения и диагностики проблем с приложением во время его запуска.
В этой статье описывается включение удаленного рабочего стола для ролей облачной службы с помощью PowerShell. Сведения о компонентах, которые потребуются для выполнения инструкций в этой статье, см. в статье Установка и настройка Azure PowerShell. В PowerShell используется расширение удаленного рабочего стола, поэтому удаленный рабочий стол можно включить даже после развертывания приложения.
Настройка удаленного рабочего стола с помощью PowerShell
Командлет Set-AzureServiceRemoteDesktopExtension позволяет включить удаленный рабочий стол для всех или некоторых ролей в развернутой облачной службе. Он позволяет указать имя и пароль пользователя удаленного рабочего стола с помощью параметра Credential , который принимает объект PSCredential.
При интерактивном использовании PowerShell можно легко задать объект PSCredential, вызвав командлет Get-Credentials .
$remoteusercredentials = Get-Credential
Эта команда открывает диалоговое окно, в котором вы сможете в защищенном режиме указать имя и пароль удаленного пользователя.
Так как PowerShell используется в сценариях автоматизации, объект PSCredential можно настроить так, чтобы участие пользователя не требовалось. Сначала необходимо задать надежный пароль. Для начала нужно придумать текстовый пароль и преобразовать его в защищенную строку с помощью командлета ConvertTo-SecureString. Далее следует преобразовать защищенную строку в зашифрованную стандартную строку, используя командлет ConvertFrom-SecureString. После этого вы можете сохранить зашифрованную стандартную строку в файл с помощью командлета Set-Content.
Можно также создать файл с надежным паролем, чтобы не нужно было каждый раз вводить пароль. Кроме того, файл с надежным паролем безопаснее, чем обычный текстовый файл. Для создания файла надежного пароля используйте эту команду PowerShell:
ConvertTo-SecureString -String "Password123" -AsPlainText -Force | ConvertFrom-SecureString | Set-Content "password.txt"
Внимание
При выборе пароля убедитесь, что соблюдены требования к сложности.
Чтобы создать объект учетных данных из файла с надежным паролем, необходимо считать содержимое файла и преобразовать его обратно в защищенную строку с помощью командлета ConvertTo-SecureString.
Командлет Set-AzureServiceRemoteDesktopExtension принимает также параметр Expiration , который указывает значение DateTime , определяющее дату и время истечения срока действия учетной записи пользователя. Например, можно задать срок действия учетной записи, который истечет через несколько дней.
В этом примере показано, как установить расширение удаленного рабочего стола для облачной службы с помощью PowerShell:
$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
При необходимости вы также можете указать слот развертывания и роли, для которых необходимо включить удаленный рабочий стол. Если эти параметры не указаны, командлет включает удаленный рабочий стол для всех ролей в слоте развертывания рабочей среды .
Расширение удаленного рабочего стола привязывается к развернутой службе. В случае создания нового развертывания службы потребуется включить использование удаленного рабочего стола для этого развертывания. Если необходимо, чтобы использование удаленного рабочего стола включалось всегда, рассмотрите возможность интеграции соответствующих сценариев PowerShell в рабочий процесс развертывания.
Подключение к экземпляру роли по протоколу удаленного рабочего стола
Командлет Get-AzureRemoteDesktopFile можно использовать, чтобы добавить удаленный рабочий стол для определенного экземпляра роли облачной службы. Для локального скачивания файла протокола удаленного рабочего стола (RDP) можно использовать параметр LocalPath . Вы можете также использовать параметр Launch , чтобы открыть диалоговое окно "Подключение к удаленному рабочему столу" для доступа к экземпляру роли облачной службы.
Get-AzureRemoteDesktopFile -ServiceName $servicename -Name "WorkerRole1_IN_0" -Launch
Убедитесь, что расширение удаленного рабочего стола включено в службе.
Командлет Get-AzureServiceRemoteDesktopExtension показывает, включен ли удаленный рабочий стол в развернутой службе. Он возвращает имя пользователя удаленного рабочего стола и роли, для которых включено расширение удаленного рабочего стола. По умолчанию используется слот развертывания, но вместо этого можно использовать промежуточный слот.
Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename
Удаление расширения удаленного рабочего стола из службы
Если вы уже включили расширение удаленного рабочего стола в развертывании и должны обновить параметры удаленного рабочего стола, сначала удалите расширение. Затем снова включите его с новыми параметрами. Например, если вы хотите задать новый пароль для учетной записи удаленного пользователя или истек срок действия учетной записи. Этот шаг необходим для существующих развертываний с включенным расширением удаленного рабочего стола. Для новых развертываний можно применить расширение напрямую.
Чтобы удалить расширение удаленного рабочего стола из развернутой службы, используйте командлет Remove-AzureServiceRemoteDesktopExtension . При необходимости можно также указать слот развертывания и роль, для которой необходимо удалить удаленный рабочий стол.
Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
Примечание.
Чтобы полностью удалить конфигурацию расширения, выполните командлет remove с параметром UninstallConfiguration .
Параметр UninstallConfiguration удаляет все конфигурации расширения, примененные к службе. Каждая конфигурация расширения связана с конфигурацией службы. Вызов командлета remove без параметра UninstallConfiguration разорвет связь развертывания с конфигурацией расширения, фактически удаляя это расширение. Однако конфигурация расширения будет по-прежнему связана со службой.