«Термин« *** »не распознается как имя командлета», возникающий при выполнении шага Azure Powershell в конвейере Azure DevOps - PullRequest
0 голосов
/ 10 января 2019

В моем конвейере выпуска есть шаг Azure Powershell, который вызывает командлет Invoke-RestMethod для вызова API kudu.

В момент создания шага моя подписка Azure выбирается из списка доступных подписок, и она использует ее для аутентификации.

Сначала мне удалось успешно выполнить шаг, получив в журнале консоли следующий вывод:

enter image description here

Однако теперь для каждого последующего выпуска я получаю сообщение об ошибке ##[error]The term '***' is not recognized as the name of a cmdlet, function, script file, or operable program. со следующим выводом:

enter image description here

Я не изменил PowerShell, на котором фактически выполняется этот шаг. Может ли быть проблема с тем, как конвейер выпуска аутентифицирует и выбирает подписку? Я вижу в выводе, что TenantId отображается как ***, на что жалуется сообщение об ошибке, может ли это быть его источником?

1 Ответ

0 голосов
/ 11 января 2019

Это похоже на проблему в вашем скрипте. *** используется для маскировки секретных переменных, поэтому ваш сценарий, вероятно, что-то делает, когда пытается запустить содержимое переменной. Может быть, что-то вроде &$TenantId.

...