如何将参数传递给Azure PowerShell Set-AzVmRunCommand?

fhg3lkii  于 2022-12-14  发布在  Shell
关注(0)|答案(1)|浏览(123)

我一直在尝试使用Set-AzVmRunCommand而不是invoke替代方法,因为它提供了更多的选项(如protected params)和更好的反馈。我在Az CLI中使用了一段时间,效果很好。文档在这里https://learn.microsoft.com/en-us/powershell/module/az.compute/set-azvmruncommand?view=azps-9.2.0
我正在努力形成它所期望的参数对象,如下所述:

ALIASES

COMPLEX PARAMETER PROPERTIES

To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.

PARAMETER <IRunCommandInputParameter[]>: The parameters used by the script.

    Name <String>: The run command parameter name.
    Value <String>: The run command parameter value.

PROTECTEDPARAMETER <IRunCommandInputParameter[]>: The parameters used by the script.

    Name <String>: The run command parameter name.
    Value <String>: The run command parameter value.

在az CLI中,参数的格式相当简单,使用如下格式:

--parameters "serverName =xyz" "databaseName =abc"

我试过创建一个哈希表数组,一个包含多个条目的哈希表,等等,但都无济于事。我相信这对某些人来说是显而易见的,所以我想问问是否有人知道如何正确使用它?我找不到更多额外的信息或文档示例。
我想我可能应该在IRunCommandInputParameter类型的参数对象中创建一个哈希表,只是还不确定,ref:https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.powershell.cmdlets.compute.models.api20210701.iruncommandinputparameter?view=az-ps-latest

nue99wik

nue99wik1#

来自MathiasR.Jessen的评论=

Set-AzVMRunCommand ... -Parameter @(@{Name='serverName';Value='xyz'},@{Name='databaseName';Value='abc'})

包含每个所需参数的哈希表的数组。工作正常,谢谢!

相关问题