Команда ‘Get-AzFunctionApp’ не работает в Azure Automation Runbook

#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 модуль в свою учетную запись автоматизации, выполните следующие действия:

  1. В своей учетной записи автоматизации в разделе Общие ресурсы выберите Модули.
  2. Выберите Просмотр галереи.
  3. В строке поиска введите имя модуля (Az.Functions).
  4. На странице модуля PowerShell выберите Импорт, чтобы импортировать модуль в свою учетную запись автоматизации.

Модуль импорта

Вы также можете импортировать модуль через галерею PowerShell. Выберите вкладку Azure Automation и выберите Deploy to Azure Automation отсюда: Az.Functions.