Создание виртуальной машины в Azure с powershell без публичного IP
Я создаю виртуальную машину в Azure из образа с использованием powershell.
Это сценарий, который я использую.
$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 и увидел, какой-то Public Ip назначается по умолчанию. Я также пытался без предоставления PublicIpAddressName
Предполагая, что свойство не будет назначать какой-либо IP, но все же это назначение.
Я хочу, чтобы публичный IP не был. Может кто-нибудь помочь мне достичь этого. Спасибо!
1 ответ
В настоящее время это вопрос, который все еще находится в открытом состоянии на официальном azure-powershell
GitHub. Вы можете сослаться на это здесь. Incase, если вы все еще хотите обойти это, вы можете попробовать использовать New-AzureReservedIP
или после команды развертывания попробуйте самостоятельно удалить публичный ip Remove-AzureRmPublicIpAddress
,
Примечание: я еще не проверял это. Просто идея.
См.: Документы
Чтобы не устанавливать публичный IP-адрес, который у вас есть, вы можете просто определить его как "", в powershell вам нужно будет снова указать его, чтобы он был """" .
Если вы используете PowerShell, вам нужно будет экранировать все пустые параметры, изменив "" на '""', чтобы правильно передать пустую строку в команду. Без этого PowerShell не будет передавать пустую строку, и вы получите ошибку от команды, указывающую, что отсутствует параметр.
$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