Microsoft уже довольно давно заявляет, что предпочтительным инструментом для управления Windows Server является PowerShell. Поэтому неудивительно, что Microsoft предоставляет широкие возможности подключения и управления ресурсами Azure из PowerShell. Таким образом, администраторам предоставляется возможность управлять ресурсами Azure через тот же инструмент управления, который используется для управления локальными ресурсами и серверами. Возможности PowerShell особенно полезны в различных скриптах и сценариях массового развертывания виртуальных машин Azure.
Для доступа к Azure из PowerShell необходимо скачать и установить Microsoft Azure PowerShell. Также можно установить пакет непосредственно из PowerShell. Для этого консоль PowerShell с повышенными правами и выполните следующие команды:Install-Module AzureRM
Login-AzureRMAccount
После ввода этих команд вам будет предложено ввести учетные данные для аутентификации в Azure. После этого в консоли PowerShell, появится подтверждение о том, что он подключен к Azure.
Нужно понимать, что на данный момент Microsoft представляет доступ к классическому порталу Azure и к новому порталу Azure. По сути, это две разные среды, и если вы создаете виртуальную машины в классическом Azure, вы не увидите ее в новом портале (и наоборот).
Имея в виду этот факт, обратите внимание на команды, которые мы использовали для подключения к Azure. Был установлен модуль AzureRM (а не Azure), а для подключения к облаку использовался командлет AzureRMAccount. Данные команды используются для работы с новым порталом Azure. Если вы хотите использовать старый Azure, воспользуйтесь командами:
Install-Module Azure
Add-AzureAccount
Поскольку Microsoft постепенно прекращает поддержку классического портала Azure, эта статья будет ориентировано исключительно на новый портал.
Выведем полный список командлетов, доступных в модуле AzureRMGet-Command -Module AzureRM
На самом деле Azure предоставляет широкий спектр облачных услуг, однако большинство пользователей Azure начинают работу с создания виртуальных машин Azure. В этом примере я сфокусируюсь на том, чтобы показать, как получить доступ к вашим виртуальным машинам Azure из PowerShell. На данный момент у меня есть три виртуальные машины.
Список имеющихся ВМ можно получить с помощью командлета Get-AzureRMVM
Более расширенную информацию о конкретной виртуальной машине (например, DemoVM) можно получить с помощью такой команды:
Get-AzureRMVM DemoVM -ResourceGroup DEFAULT-STOR-EASTUS -Name DemoVM
Как вы видите, в отличии от Hyper-V, где информацию о ВМ можно получить с помощью командлета Get-VM, указав имя ВМ, в Azure нужно также указать имя ресурсной группы, к которой относится виртуальная машина.
Полный список командлетов, связанных с виртуальными машинами Azure, можно вывести с помощью команды:
Get-Command -Module AzureRM *-AzureRMVM
Как вы видите, нашлось всего восемь командлетов, связанных с AzureRMVM. Эти командлеты можно использовать для просмотра, создания, удаления, запуска, остановки, перезапуска и обновления виртуальных машин Azure.
Запустим виртуальную машину с именем DemoVM:
Start-AzureRMVM -ResourceGroup DEFAULT-STOR-EASTUS -Name DemoVM
Аналогичным образом можно остановить ВМ:
Stop-AzureRMVM -ResourceGroup DEFAULT-STOR-EASTUS -Name DemoVM
Как вы видите, Microsoft существенно упростила подключение к Azure из PowerShell (для подключения нужно выполнить всего две команды). Тем не менее, использование PowerShell для управления Azure требует некоторого привыкания, ведь многие знакомые командлеты PowerShell просто не работают в Azure. В большинстве случае Microsoft разработала облачные аналоги командлетов Azure с именами, походящими на классические имена командлетов PowerShell.