Невозможно преобразовать значение типа "System.String" в тип "System.Collections.Hashtable" - PullRequest
0 голосов
/ 25 марта 2019

В Azure Devops я пытаюсь запустить блок встроенного сценария Azure Powershell:

Invoke-AzVMRunCommand -ResourceGroupName xxx-Name xxx -CommandId 'RunPowerShellScript' -ScriptPath $env:SYSTEM_DEFAULTWORKINGDIRECTORY/_alias/xxx.ps1 -Parameter $env:xxx -Verbose

Как видите, я передаю параметр в сценарий xxx.ps1.Это небольшой фрагмент содержимого скрипта xxx.ps1:

Param(
[string]$xxx
)

#create AD Group
$ADGroupName = "AD" + $xxx+ "_AD"
.....

Когда я запускаю этот код, я получаю следующую ошибку в журналах:

[ошибка]Невозможно связать параметр «Параметр».Не удается преобразовать значение «valueofthevariable» типа «System.String» в тип «System.Collections.Hashtable".

Как правильно передать значение в качестве параметра?Спасибо!

1 Ответ

0 голосов
/ 25 марта 2019

После еще одного поиска в Интернете я обнаружил свою ошибку:

В команде Powershell Invoke-AzVMRunCommand я использовал String в качестве типа ввода для Parameter, это должна быть хеш-таблица.Я изменил эту команду следующим образом:

Invoke-AzVMRunCommand -ResourceGroupName xxx-Name xxx -CommandId 'RunPowerShellScript' -ScriptPath $env:SYSTEM_DEFAULTWORKINGDIRECTORY/_alias/xxx.ps1 -Parameter @{xxx = $env:xxx} -Verbose
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...