#azure #powershell #azure-function-app
#azure #powershell #azure-функция-приложение
Вопрос:
Я получаю сообщение об ошибке ниже:
2020-09-17T10:05:00.724 [Error] ERROR: Error logging into WVD: The
term 'Get-AutomationPSCredential' is not recognized as the name of a
cmdlet, function, script file, or operable program.Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.Exception :Type :
Microsoft.PowerShell.Commands.WriteErrorExceptionMessage : Error
logging into WVD: The term 'Get-AutomationPSCredential' is not
recognized as the name of a cmdlet, function, script file, or operable
program.Check the spelling of the name, or if a path was included,
verify that the path is correct and try again.HResult :
-2146233087CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExceptionFullyQualifiedErrorId :
Microsoft.PowerShell.Commands.WriteErrorException,_TimerTrigger1_InvocationInfo
:MyCommand : _TimerTrigger1_HistoryId : 1InvocationName :
_TimerTrigger1_CommandOrigin : InternalScriptStackTrace : at <ScriptBlock>, D:homesitewwwrootTimerTrigger1run.ps1: line
158Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result:
ERROR: Error logging into WVD: The term 'Get-AutomationPSCredential'
is not recognized as the name of a cmdlet, function, script file, or
operable program.Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.Exception
:Type : Microsoft.PowerShell.Commands.WriteErrorExceptionMessage :
Error logging into WVD: The term 'Get-AutomationPSCredential' is not
recognized as the name of a cmdlet, function, script file, or operable
program.Check the spelling of the name, or if a path was included,
verify that the path is correct and try again.HResult :
-2146233087CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExceptionFullyQualifiedErrorId :
Microsoft.PowerShell.Commands.WriteErrorException,_TimerTrigger1_InvocationInfo
:MyCommand : _TimerTrigger1_HistoryId : 1InvocationName :
_TimerTrigger1_CommandOrigin : InternalScriptStackTrace : at <ScriptBlock>, D:homesitewwwrootTimerTrigger1run.ps1: line
158Exception: Error logging into WVD: The term
'Get-AutomationPSCredential' is not recognized as the name of a
cmdlet, function, script file, or operable program.Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.Stack:
Я видел информацию в Интернете, которая предполагает, что это часть модуля «AzureAutomationAuthoringToolkit», но я не понимаю, как я устанавливаю это в среду, в которой работает приложение функций.материал и я следую за сообщением в блоге ниже, чтобы попытаться отключить автозапуск. Я совершенно уверен, что я правильно следовал этому. Для меня ошибка предполагает, что в среде не загружен модуль.
Комментарии:
1. Можете ли вы поделиться всей ошибкой? Оно усечено. Кроме того, вы сначала создали учетные данные, как показано здесь? learn.microsoft.com/en-us/azure/automation/shared-resources /… . Единственное, что нужно попробовать, — добавить это в начало вашего скрипта
Import-Module -Verbose Az.Automation
. Этот модуль уже должен быть доступен для вас в Azure Automation.2. Спасибо, я обновил вопрос с полным стеком ошибок. Я попробовал инструкцию import и смог увидеть, как она импортирует различные функции, но все равно получаю ту же ошибку. Я не пробовал создавать учетные данные. Я смотрел на это, но не уверен, как это вписывается в этот пример, на той же странице говорится об использовании Get-AutomationPSCredential. Я рассмотрю ответ ниже, но у меня не будет свободного времени до следующей недели.
Ответ №1:
Я не думаю, что вы можете использовать команду Get-AutomationPSCredential
в функции Azure, это внутренний командлет, принадлежащий внутреннему модулю Orchestrator.AssetManagement.Cmdlets
, он доступен только при выполнении runbooks в среде Azure sandbox или на гибридном компьютере Windows Runbook Worker.
Итак, в вашем случае ваш вариант — использовать скрипт в automation powershell runbook, затем использовать Invoke-WebRequest
в триггере таймера для вызова веб-запроса к URL-адресу webhook runbook для запуска runbook(поскольку скрипт должен запускаться каждые 5 минут, как указано автором).
Invoke-WebRequest -Uri <Webhook URI> -Method Post
Для получения более подробной информации вы можете обратиться к ссылке, упомянутой в репозитории Github.
Комментарии:
1. Спасибо, похоже, что эта статья отличается от той, которой я следил, я посмотрю и сообщу вам результат. Я не смогу сделать это еще несколько дней, так как мне сказали, что на данный момент приоритеты должны быть сосредоточены на других вещах.