0

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

当它尝试运行 Update-AzureRmVmss 命令 Update-AzureRmVmss 时出现此错误:缺少必需的参数“adminPassword”(空)。错误代码:无效参数错误消息:缺少必需的参数“adminPassword”(空)。状态码:400 原因短语:错误请求

$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
4

3 回答 3

4

我弄清楚了这个问题。-Name 需要是规模集名称。我从网上获得的代码名称为错误的脚本名称。

Update-AzureRmVmss -ResourceGroupName $resourceGroup -Name "scalsetname" -VirtualMachineScaleSet $vmss
于 2017-09-23T16:51:36.480 回答
0

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

PowerShell:添加 AzureRmVmssExtension CLI:az vmss 扩展集

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

于 2017-09-24T23:38:43.647 回答
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
于 2018-09-25T20:40:16.573 回答