我正在运行下面的脚本来创建azure vm
Connect-AzAccount
$cred = Get-Credential
$vm = New-AzVMConfig -VMName "MyVirtualVM" -VMSize "Standard_D1"
$vm = Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName "MyVM" -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm = Set-AzVMSourceImage -VM $vm -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2016-Datacenter" -Version "latest"
$vm = Set-AzVMOSDisk -VM $vm -Name "MyOSDisk" -DiskSizeInGB 128 -CreateOption FromImage -Caching ReadWrite
$vm = Add-AzVMNetworkInterface -VM $vm -Id "/subscriptions/{subscriptionid}/resourceGroups/myresource/providers/Microsoft.Network/virtualNetworks/myresource-vnet"
New-AzVM -ResourceGroupName "Prod-IT" -Location "EastUS" -VM $vm
运行脚本后出现以下错误
New-AzVM : Cannot parse the request.
ErrorCode: InvalidRequestFormat
ErrorMessage: Cannot parse the request.
ErrorTarget:
StatusCode: 400
ReasonPhrase:
OperationID : 22637114-2ddd-49c2-a4b1-3748ac166e12
At line:15 char:1
+ New-AzVM -ResourceGroupName "Prod-IT" -Location "EastUS" -VM $vm
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand
请帮助我哪里出错了。谢谢
New-AzVM:无法解析请求。
当我尝试执行您的脚本时,我也收到与下面相同的错误。
您遇到的错误是由于传递了无效的
NIC ID
要解决此问题,请确保在命令
Add-AzVMNetworkInterface -VM $vm -Id
下传递有效的 NIC ID。如果没有 NIC,请创建一个新的 NIC 并将其附加到虚拟机。
这是用于创建 VM 的更新后的 PowerShell 脚本
Connect-AzAccount
$cred = Get-Credential
$vnet = Get-AzVirtualNetwork -Name "myresource-vnet" -ResourceGroupName "myresource"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "default" -VirtualNetwork $vnet
$nic = New-AzNetworkInterface -Name "MyNIC" -ResourceGroupName "Prod-IT" -Location "EastUS" -Subnet $subnet
$vm = New-AzVMConfig -VMName "MyVirtualVM" -VMSize "Standard_D1"
$vm = Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName "MyVM" -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm = Set-AzVMSourceImage -VM $vm -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2016-Datacenter" -Version "latest"
$vm = Set-AzVMOSDisk -VM $vm -Name "MyOSDisk" -DiskSizeInGB 128 -CreateOption FromImage -Caching ReadWrite
$vm = Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
New-AzVM -ResourceGroupName "Prod-IT" -Location "EastUS" -VM $vm
输出:
运行
PowerShell
脚本后,虚拟机已创建成功。