Запуск / остановка всех виртуальных машин в рамках определенной подписки

Я использую командлеты Azure Powershell для запуска и остановки виртуальных машин.

Start-AzureVM [-ServiceName] <String> [-Name] <String> [ <CommonParameters>]

Stop-AzureVM [-ServiceName] <String> [-Name] <String> [[-StayProvisioned]] [[-Force]] [ <CommonParameters>]

Есть ли команда для запуска / остановки всех виртуальных машин в рамках определенной подписки, а не одной виртуальной машины? Если нет, я ищу сценарий, который будет запускать вышеуказанный код несколько раз параллельно для каждой виртуальной машины.


person Mark13426    schedule 14.12.2013    source источник


Ответы (2)


Start-AzureVM и Stop-AzureVM теперь поддерживают подстановочные знаки, что позволяет запускать / параллельно останавливать любые / все виртуальные машины в пределах одного имени службы. Здесь вы можете увидеть это в действии, когда я только что запустил несколько виртуальных машин в одной службе параллельно:

Вызов Start-AzureVM

Параллельная работа на портале

Теперь: если вам нужны все виртуальные машины во всей подписке, вы всегда можете перечислить все пространства имен своих служб, а затем запустить виртуальные машины внутри. Это пример этого - настройте его по своему усмотрению для конкретного центра обработки данных и т. Д.

Пример перечисления услуг:

Get-AzureService | Select ServiceName

Теперь, чтобы что-то с этим сделать, а не просто перечислять сервисы:

Get-AzureService | Foreach-Object { Start-AzureVM -ServiceName $_.ServiceName -Name "*" }

Примечание. Я не тестировал последний, так как мне не хотелось запускать все свои виртуальные машины, но что-то подобное должно сработать для вас как массовый «запуск одной виртуальной машины в каждой отдельной службе в моей подписке».

person David Makogon    schedule 14.12.2013
comment
Мне пришлось заменить -VM на -Name и добавить переключатель -Force при использовании синтаксиса подстановочных знаков. - person Mark13426; 15.12.2013
comment
Упс - это научит меня публиковать код без тестирования. :) Отредактировал название параметра. - person David Makogon; 15.12.2013

Очень верно - Start-AzureVM и Stop-AzureVM теперь поддерживают подстановочные знаки, что позволяет вам параллельно запускать / останавливать любые / все виртуальные машины в пределах одного имени службы.

В соответствии с вопросом запуск / остановка всех виртуальных машин по определенной подписке невозможен. Однако запуск / остановка всех виртуальных машин под определенным именем службы возможен.

Start-AzureVM -ServiceName «sa12345» запустит все виртуальные машины Azure под именем sa12345.

person Aatif Akhter    schedule 11.03.2015
comment
Добавляет ли это что-нибудь новое к уже данному и принятому ответу? Думаю, нет ... - person fancyPants; 11.03.2015
comment
Я столкнулся с той же проблемой. Итак, я просто высказал свое мнение :) - person Aatif Akhter; 11.03.2015