2

У меня есть веб-роль Azure с двумя экземплярами (NB Роли PaaS, * не Azure Virtual Machines). Я могу подключиться к ним через Remote Desktop, но я не знаю, как это сделать Remoting в Powershell (PowerShell Remoting), потому что, в отличие от облачной виртуальной машины Azure, нет способа определить конечную точку и порт для каждого экземпляра как нет отдельных адресов для каждой роли Рабочего.Доступ к облачным сервисам PaaS с помощью удаленного доступа PowerShell

Как подключиться к отдельному экземпляру роли PaaS с помощью PowerShell Remoting? IOW, как я могу использовать:

Enter-PSSession –ComputerName PC1 –Credential User 

против роли работника облачного обслуживания (PaaS) экземпляра?

+0

Проверьте конечные точки для правильного порта. – TheBigCheese

ответ

2

Использование PowerShell Remoting (не следует путать с РДП) выглядит вполне возможным для Azure виртуальных машин:

PowerShell Remoting нуждается в правильной конфигурации сети, чтобы для удаленного подключения. Поскольку мы будем обращаться к VM по сети , мы должны использовать HTTPS для защиты канала связи. Пропустив над деталями удаленного управления Windows, которая используется с помощью PowerShell Remoting, я просто скажу порт HTTPS по умолчанию 5986.

Чтобы разрешить подключение к виртуальной машине эта точка должна быть добавлена ​​к ServiceDefinition.csdef :

<endpoints> 
    <inputendpoint localport="5986" port="5986" protocol="tcp" name="WinRM" /> 
</endpoints> 

с соответствующим портом открыть это просто вопрос включения PowerShell Remoting. Перед включением необходимо решить две проблемы.

Первый использует правильную учетную запись пользователя для настройки Remoting. Вы, , должны использовать созданную ранее учетную запись для запуска скрипта для настройки Удалите [1]. С помощью этих команд, пользователь ранее созданный будет выполнить скрипт E: \ approot \ StartRemotingListener.ps1:

schtasks /CREATE /TN "StartRemotingListener" /SC ONCE /SD 01/01/2020 /ST 00:00:00 
       /RL HIGHEST /RU <username> /RP <password> 
       /TR "powershell -ExecutionPolicy unrestricted 
           -Command e:\approot\StartRemotingListener.ps1 -Force" /F 
schtasks /RUN /TN "StartRemotingListener" 

Вторая проблема заключается в настройке сертификата, необходимого для HTTPS соединения. Приобретение сертификата не может быть проблемой для производственной среды . Возможно, у вас уже есть один для вашего сервиса и его можно использовать повторно. Это может быть проблемой, если в вашей службе нет требуется сертификат для нормальной работы или для непроизводственных сред .

От: http://blogs.msdn.com/b/mariok/archive/2011/08/08/command-line-access-to-azure-vms-powershell-remoting.aspx

+0

Я добавил конечную точку = 5986 в ServiceDefinition.csdef, и я сделал новое развертывание в Azure. Но это все еще не работает. Как написано в статье, вы отправили мне: «Этот метод разрешает только подключения к службам с одним экземпляром», в то время как у меня есть два экземпляра. Дело в том, что я могу легко подключиться к VM с помощью Powershell Remoting, но я не могу сделать то же самое и для экземпляра Cloud Service. Когда я редактирую rdp-файлы для подключения к VM и экземпляру, я вижу, что у экземпляра есть что-то похожее на следующее, которое я не знаю, как указать его в Powershell Remoting: – Majico

+0

«полный адрес: s: MyService.cloudapp.net имя пользователя: s: Username ** LoadBalanceInfo: s: Cookie: mstshash = WorkerRole1 # WorkerRole1_IN_0 ** " – Majico

+0

+1 Отличный ответ (и спасибо за PowerShell Deep Dives!) –

-2

Используя портал управления Azure, вы можете скачать RDP-файлы, используемые для подключения. Отредактируйте эти файлы, у вас должны быть все необходимые сведения для подключения (конечные точки и порты).

btw, Azure использует переадресацию портов для доступа к конкретному экземпляру.

+0

Спасибо, но в файле написано: полный адрес: s: MyService.cloudapp.net Имя пользователя: s: Имя пользователя LoadBalanceInfo: s: Cookie: mstshash = WorkerRole1 # WorkerRole1_IN_0 Итак, как я должен использовать " mstshash "в команде Enter-PSSession? – Majico

+1

-1 Удаленный рабочий стол (RDP) не является удалением PowerShell (WinRM) – x0n

+0

Вы знаете, как это сделать в PowerShell Remoting,? как я могу указать следующее в powershell: «полный адрес: s: MyService.cloudapp.net имя пользователя: s: Username ** LoadBalanceInfo: s: Cookie: mstshash = WorkerRole1 # WorkerRole1_IN_0 **" – Majico