Update-AzureRmVmss:缺少必需参数'adminPassword'(null)

时间:2017-09-23 06:08:51

标签: powershell azure azure-vm-scale-set

我正在尝试在比例集上运行PowerShell vmss自定义扩展脚本。

尝试运行Update-AzureRmVmss命令时出现此错误 Update-AzureRmVmss:缺少必需参数'adminPassword'(null)。 ErrorCode:InvalidParameter ErrorMessage:缺少必需参数'adminPassword'(null)。 StatusCode:400 ReasonPhrase:错误请求

$customConfig = @{
 "fileUris" = @("https://$storageAccountName.blob.core.windows.net/scripts/script.ps1");
"commandToExecute" = "PowerShell -ExecutionPolicy Unrestricted .\script.ps1";
};
# Add the extension to the config
$vmss = Get-AzureRmVmss -ResourceGroupName $resourceGroup -VMScaleSetName $vmssname
Add-AzureRmVmssExtension -VirtualMachineScaleSet $vmss -Publisher Microsoft.Compute -Type CustomScriptExtension -TypeHandlerVersion 2.0 -Name "runscript" -Setting $customConfig
# Send the new config to Azure
Update-AzureRmVmss -ResourceGroupName $resourceGroup -Name "runscript" -VirtualMachineScaleSet $vmss

3 个答案:

答案 0 :(得分:3)

我想出了这个问题。 -Name需要是scaleset名称。我从网上得到的代码名称是脚本名称错误。

Update-AzureRmVmss -ResourceGroupName $resourceGroup -Name "scalsetname" -VirtualMachineScaleSet $vmss

答案 1 :(得分:0)

使用PowerShell cmdlet或CLI命令直接添加扩展可能更容易..

PowerShell:Add-AzureRmVmssExtension CLI:az vmss扩展集

Azure Cloud Shell具有内置的经过身份验证的CLI版本。

答案 2 :(得分:0)

Update-AzureRmVmss的正确参数是-VMScaleSetName,它也具有一个名为Name的别名。 使用-Name参数也出现了相同的错误, 但是当我尝试使用-VMScaleSetName代替-Name时,看不到错误。

以下是官方文档供参考:https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermvmss?view=azurermps-6.9.0

Update-AzureRmVmss -ResourceGroupName $resourceGroup -VMScaleSetName "scalesetname" -VirtualMachineScaleSet $vmss