1

我正在使用 powershell 从映像在 Azure 上创建 VM。

这是我正在使用的脚本。

$UserName = "username"
$Password = ConvertTo-SecureString "password@123" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)    
New-AzureRmVm `
    -ResourceGroupName "RSG" `
    -Name "VMName" `
    -ImageName "ImageName" `
    -Location "West US" `
    -VirtualNetworkName "VNName" `
    -SubnetName "default" `
    -Credential $psCred
    -PublicIpAddressName "None" `
    -OpenPorts 3389

但是,当我进入 Azure 门户并查看时,默认分配了一些公共 IP。我也试过不给PublicIpAddressName属性假设,它不会分配任何IP,但它仍然在分配。

我希望公共 IP 没有。任何人都可以帮助我实现这一点。谢谢!

4

4 回答 4

1

目前这是一个在官方github上仍处于Open状态的问题。azure-powershell你可以参考这里。如果您仍然想绕过这个,您可以尝试使用New-AzureReservedIP或在部署命令之后尝试自行删除公共 ip Remove-AzureRmPublicIpAddress

注意:我还没有测试过。只是一个想法。

参考:文档

于 2018-08-27T04:58:09.903 回答
0

要设置没有公共 IP 地址,您只需将其定义为 "" ,在 powershell 中您需要再次引用它,因此它将是 """" 。

于 2019-05-07T09:18:45.680 回答
0

如果您使用的是 PowerShell,则需要通过将“”更改为“”“”来转义所有空参数,以便将空字符串正确传递到命令中。如果没有这个,PowerShell 将不会传递空字符串,并且您将从命令中收到一个错误,表明它缺少参数。

于 2019-11-02T19:15:37.370 回答
-1
$winVmCred = Get-Credential `
  -Message "Enter username and password for the Windows management virtual machine."

# Create a NIC for the VM.
$winVmNic = New-AzNetworkInterface -Name "winVMNIC01" `
  -ResourceGroupName $resourceGroup.ResourceGroupName `
  -Location $location `
  -SubnetId $targetVMSubnet.Id `
  -PrivateIpAddress "10.10.12.10"

# Configure the Windows management VM.
$winVmConfig = New-AzVMConfig -VMName $winVmName -VMSize $winVmSize | `
Set-AzVMOperatingSystem -Windows -ComputerName $winVmName -Credential $winVmCred | `
Set-AzVMSourceImage -PublisherName $winVmPublisher `
  -Offer $winVmOffer `
  -Skus $winVmSku `
  -Version $winVmVersion | `
  Add-AzVMNetworkInterface -Id $winVmNic.Id

# Create the VM.
$winVM = New-AzVM -ResourceGroupName $resourceGroup.ResourceGroupName `
  -Location $location `
  -VM $winVmConfig `
  -ErrorAction Stop
于 2020-09-16T17:02:49.003 回答