我正在尝试从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无法通过吗?
$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'
...你还能得到什么?然后添加下一行/属性,依此类推,直到达到阻塞点。