azure - 无法将“System.String”类型的值转换为“System.Collections.Hashtable”类型
问题描述
在 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"
.....
当我运行此代码时,我在日志中收到以下错误:
[错误]无法绑定参数“参数”。无法将“System.String”类型的“变量值”值转换为“System.Collections.Hashtable”类型。
如何正确地将值作为参数传递?谢谢!
解决方案
在网上搜索了一些之后,我发现了我的错误:
在 Powershell 命令 Invoke-AzVMRunCommand 中,我使用字符串作为参数的输入类型,这必须是哈希表。我将该命令更改为以下内容:
Invoke-AzVMRunCommand -ResourceGroupName xxx-Name xxx -CommandId 'RunPowerShellScript' -ScriptPath $env:SYSTEM_DEFAULTWORKINGDIRECTORY/_alias/xxx.ps1 -Parameter @{xxx = $env:xxx} -Verbose
推荐阅读
- angular - 如何在里面制作`swiper`
在角度 7 - notifications - 早期检测电报消息通知(使用 Telethon 或其他方式)
- .net-core - dotnet 包版本问题
- android - 如何制作一个 jsonObject ,其中键是字符串,值是 TimeStamp 类型?
- flutter - 如何在不重建 Flutter 的情况下插入 ListView
- sql - 使用 SQL 基于多个可能的表创建列
- installshield - InstallShield - 仅在 64 位操作系统时保存注册表
- javascript - bigNumber 没有正确解析以太
- javascript - 通过单击按钮在搜索表单中光标
- redux-toolkit - 从 redux-toolkit 导入 miniSerializeError