Set-AzureRmVMCustomScriptExtension失败-我使用错误的方式吗?

问题描述 投票:0回答:1

我正在尝试从Azure自动化帐户运行手册中的Azure Windows VM中执行PowerShell脚本。我尝试使用Set-AzureRmVMCustomScriptExtension完成它-没有成功。 -我要出院了

Failed正在运行的命令已停止,因为首选项变量” ErrorActionPreference“或公共参数被设置为Stop:无法使用指定的命名参数解析参数集

我无法确定哪个参数失败或其他原因。

这里使用了带有提供参数的命令行开关:

$objResponse = Set-AzureRmVMCustomScriptExtension `
                            -Name 'vm-execution-FolderCopy' `
                            -ResourceGroupName 'RG-AUTOTOPUP_TST1-20200117-133228' `
                            -VMName '4vm1' `
                            -StorageAccountName '1sa1' `
                            -StorageAccountKey '92LxxxnN2p5Ww==' `
                            -FileUri 'https://1sa1.file.core.windows.net/solutionfiles/SolutionScripts/vm-execution-FolderCopy.ps1' `
                            -Run 'vm-execution-FolderCopy.ps1' `
                            -Argument 'Auto 92LO1Q4 solutionfiles 129J D Z' `
                            -TypeHandlerVersion 1.1 `
                            -ErrorAction Stop

请注意,参数'-FileUri'的类型为[[String [] System.Array,带有一个元素。

我没有使用Blob容器;而是要运行的PS脚本位于存储帐户的文件共享中,请参阅该URI所在的位置。

有人可以告诉我为什么cmdlet无法通过吗?

powershell parameters arguments virtual-machine azure-automation
1个回答
0
投票
首先,使用Splatting对比所有那些墓地口音(又称反引号)。

$AzureRmVMCustomScriptExtensionSplat = @{ Name = 'vm-execution-FolderCopy' ResourceGroupName = 'RG-AUTOTOPUP_TST1-20200117-133228' VMName = '4vm1' StorageAccountName = '1sa1' StorageAccountKey = '92LxxxnN2p5Ww==' FileUri = 'https://1sa1.file.core.windows.net/solutionfiles/SolutionScripts/vm-execution-FolderCopy.ps1' Run = 'vm-execution-FolderCopy.ps1' Argument = 'Auto 92LO1Q4 solutionfiles 129J D Z' TypeHandlerVersion = 1.1 } $AzureRmVMCustomScriptExtensionSplat = Set-AzureRmVMCustomScriptExtension @paramblock # -ErrorAction Stop

第二,当我在这里注释掉ErrorAction时会发生什么?

脚本失败可能有很多原因,根据发生的情况,错误可能是误报。需要确定根本原因,这意味着应退后一步,使用每个数据请求所需的绝对最小数量的代码,以确保在添加更多代码之前可以恢复期望的结果。

例如,如果您获得第一名...

Get-AzureRmVMCustomScriptExtension -Name 'vm-execution-FolderCopy' -ResourceGroupName 'RG-AUTOTOPUP_TST1-20200117-133228' -VMName '4vm1'

...你还能得到什么?

然后添加下一行/属性,依此类推,直到达到阻塞点。

© www.soinside.com 2019 - 2024. All rights reserved.