#azure #powershell #automation #azure-runbook
#azure #powershell #автоматизация #azure-runbook
Вопрос:
Я создал Runbook
и добавил командлет ниже
Get-AzFunctionApp | Stop-AzFunctionApp
Я получаю сообщение об ошибке ниже
Термин ‘Get-AzFunctionApp’ не распознается как имя командлета,
Я импортировал все приведенные ниже модули, но безуспешно
После добавления ‘Az.Функции ‘Я получаю сообщение об ошибке ниже
Сбой Не удается проверить аргумент для параметра ‘SubscriptionId’. Аргумент равен нулю или пуст. Укажите аргумент, который не является нулевым или пустым, а затем повторите попытку команды. (Аргумент равен нулю или пуст. Укажите аргумент, который не является нулевым или пустым, а затем повторите попытку команды.)
Комментарии:
1. В названии упоминается, что
Get-AzWebApp
это не работает, но в вопросеGet-AzFunctionApp
, который, по вашим словам, не распознан, не могли бы вы уточнить его более четко?2. обновлен заголовок
Ответ №1:
Командлет Get-AzFunctionApp
/ Stop-AzFunctionApp
включен в этот модуль: Az.Functions.
Пожалуйста, импортируйте этот модуль, и тогда операция, связанная с функциями, будет работать.
Вот пример (обратите внимание, что добавьте -Force
параметр для Stop-AzFunctionApp
), он работает в соответствии с моим тестированием:
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Get-AzFunctionApp -ResourceGroupName xxx | Stop-AzFunctionApp -Force
Комментарии:
1. хорошо, может быть, мне не хватает «Соединения», может потребоваться «AzureRunAsConnection»
2. @kudlatiger пожалуйста, не забудьте также добавить параметр
-Force
дляStop-AzFunctionApp
, в противном случае вам будет предложено выбратьyes
илиno
остановить каждую функцию.3. @kudlatiger обновил ответ рабочим примером, пожалуйста, дайте мне знать, если у вас все еще есть проблемы по этому поводу.
4. Как мне заставить все веб-приложения запускаться и останавливаться в цикле?
5. @kudlatiger содержат ли веб-приложения функции Azure?
Ответ №2:
Судя по опубликованному вами скриншоту, похоже, что вам не хватает модуля Az.Functions, который содержит оба командлета Get-AzFunctionApp
и Stop-AzFunctionApp
.
Чтобы импортировать Az.Functions
модуль в свою учетную запись автоматизации, выполните следующие действия:
- В своей учетной записи автоматизации в разделе Общие ресурсы выберите Модули.
- Выберите Просмотр галереи.
- В строке поиска введите имя модуля (Az.Functions).
- На странице модуля PowerShell выберите Импорт, чтобы импортировать модуль в свою учетную запись автоматизации.
Вы также можете импортировать модуль через галерею PowerShell. Выберите вкладку Azure Automation и выберите Deploy to Azure Automation отсюда: Az.Functions.