Bagikan melalui


New-AzureRmVM

Membuat mesin virtual.

Peringatan

Modul AzureRM PowerShell telah resmi tidak digunakan lagi per 29 Februari 2024. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan.

Meskipun modul AzureRM mungkin masih berfungsi, modul tersebut tidak lagi dipertahankan atau didukung, menempatkan penggunaan berkelanjutan berdasarkan kebijaksanaan dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk panduan tentang transisi ke modul Az.

Sintaks

New-AzureRmVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   [[-Zone] <String[]>]
   -Name <String>
   -Credential <PSCredential>
   [-VirtualNetworkName <String>]
   [-AddressPrefix <String>]
   [-SubnetName <String>]
   [-SubnetAddressPrefix <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-AllocationMethod <String>]
   [-SecurityGroupName <String>]
   [-OpenPorts <Int32[]>]
   [-Image <String>]
   [-Size <String>]
   [-AvailabilitySetName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-AsJob]
   [-DataDiskSizeInGb <Int32[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVM
   [-ResourceGroupName] <String>
   [-Location] <String>
   [-VM] <PSVirtualMachine>
   [[-Zone] <String[]>]
   [-DisableBginfoExtension]
   [-Tag <Hashtable>]
   [-LicenseType <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   -Name <String>
   [-VirtualNetworkName <String>]
   [-AddressPrefix <String>]
   [-SubnetName <String>]
   [-SubnetAddressPrefix <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-AllocationMethod <String>]
   [-SecurityGroupName <String>]
   [-OpenPorts <Int32[]>]
   -DiskFile <String>
   [-Linux]
   [-Size <String>]
   [-AvailabilitySetName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-AsJob]
   [-DataDiskSizeInGb <Int32[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Deskripsi

Cmdlet New-AzureRmVM membuat komputer virtual di Azure. Cmdlet ini mengambil objek komputer virtual sebagai input. Gunakan cmdlet New-AzureRmVMConfig untuk membuat objek komputer virtual. Cmdlet lain dapat digunakan untuk mengonfigurasi komputer virtual, seperti Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface, dan Set-AzureRmVMOSDisk. SimpleParameterSet menyediakan metode yang nyaman untuk membuat VM dengan membuat argumen pembuatan VM umum opsional.

Contoh

Contoh 1: Membuat komputer virtual

PS C:\> New-AzureRmVM -Name MyVm -Credential (Get-Credential)

VERBOSE: Use 'mstsc /v:myvm-222222.eastus.cloudapp.azure.com' to connect to the VM.

ResourceGroupName        : MyVm
Id                       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVm/provi
ders/Microsoft.Compute/virtualMachines/MyVm
VmId                     : 11111111-1111-1111-1111-111111111111
Name                     : MyVm
Type                     : Microsoft.Compute/virtualMachines
Location                 : eastus
Tags                     : {}
HardwareProfile          : {VmSize}
NetworkProfile           : {NetworkInterfaces}
OSProfile                : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState        : Succeeded
StorageProfile           : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : myvm-222222.eastus.cloudapp.azure.com

Contoh skrip ini menunjukkan cara membuat komputer virtual. Skrip akan meminta nama pengguna dan kata sandi untuk VM. Skrip ini menggunakan beberapa cmdlet lainnya.

Contoh 2: Membuat komputer virtual dari gambar pengguna kustom

PS C:\> ## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Password" -AsPlainText -Force
## Azure Account
$LocationName = "westus"
$ResourceGroupName = "MyResourceGroup"
# This a Premium_LRS storage account.
# It is required in order to run a client VM with efficiency and high performance.
$StorageAccount = "Mydisk"

## VM
$OSDiskName = "MyClient"
$ComputerName = "MyClientVM"
$OSDiskUri = "https://Mydisk.blob.core.windows.net/disks/MyOSDisk.vhd"
$SourceImageUri = "https://Mydisk.blob.core.windows.net/vhds/MyOSImage.vhd"
$VMName = "MyVM"
# Modern hardware environment with fast disk, high IOPs performance.
# Required to run a client VM with efficiency and performance
$VMSize = "Standard_DS3"
$OSDiskCaching = "ReadWrite"
$OSCreateOption = "FromImage"

## Networking
$DNSNameLabel = "mydnsname" # mydnsname.westus.cloudapp.azure.com
$NetworkName = "MyNet"
$NICName = "MyNIC"
$PublicIPAddressName = "MyPIP"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"

$SingleSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzureRmPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows

New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Contoh ini mengambil gambar sistem operasi kustom yang disiapkan dan digeneralisasi yang ada dan melampirkan disk data ke dalamnya, menyediakan jaringan baru, menyebarkan VHD, dan menjalankannya. Skrip ini dapat digunakan untuk provisi otomatis karena menggunakan kredensial admin komputer virtual lokal sebaris alih-alih memanggil Get-Credential yang memerlukan interaksi pengguna. Skrip ini mengasumsikan bahwa Anda sudah masuk ke akun Azure Anda. Anda dapat mengonfirmasi status masuk Anda dengan menggunakan cmdlet Get-AzureSubscription .

Contoh 3: Membuat VM dari gambar marketplace tanpa IP Publik

$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString <password> -AsPlainText -Force
$LocationName = "eastus2"
$ResourceGroupName = "MyResourceGroup"
$ComputerName = "MyVM"
$VMName = "MyVM"
$VMSize = "Standard_DS3"

$NetworkName = "MyNet"
$NICName = "MyNIC"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"

$SingleSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest

New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Contoh ini menyediakan jaringan baru dan menyebarkan VM Windows dari Marketplace tanpa membuat alamat IP publik atau Grup Keamanan Jaringan. Skrip ini dapat digunakan untuk provisi otomatis karena menggunakan kredensial admin komputer virtual lokal sebaris alih-alih memanggil Get-Credential yang memerlukan interaksi pengguna.

Parameter

-AddressPrefix

Awalan alamat untuk jaringan virtual yang akan dibuat untuk VM.

Jenis:String
Position:Named
Nilai default:192.168.0.0/16
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-AllocationMethod

Metode alokasi IP untuk IP publik yang akan dibuat untuk VM.

Jenis:String
Nilai yang diterima:Static, Dynamic
Position:Named
Nilai default:Static
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-AsJob

Jalankan cmdlet di latar belakang dan kembalikan Pekerjaan untuk melacak kemajuan.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-AvailabilitySetName

Menentukan nama untuk set ketersediaan.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Credential

Info masuk administrator untuk VM.

Jenis:PSCredential
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-DataDiskSizeInGb

Menentukan ukuran disk data dalam GB.

Jenis:Int32[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DefaultProfile

Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure.

Jenis:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DisableBginfoExtension

Menunjukkan bahwa cmdlet ini tidak menginstal ekstensi Info BG pada komputer virtual.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DiskFile

Jalur lokal ke file hard disk virtual yang akan diunggah ke cloud dan untuk membuat VM, dan harus memiliki '.vhd' sebagai akhirannya.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-DomainNameLabel

Label subdomain untuk nama domain yang sepenuhnya memenuhi syarat (FQDN) VM. Ini akan mengambil formulir {domainNameLabel}.{location}.cloudapp.azure.com.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Image

Nama gambar yang ramah di mana VM akan dibangun. Ini termasuk: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.

Jenis:String
Alias:ImageName
Position:Named
Nilai default:Win2016Datacenter
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-LicenseType

Menentukan jenis lisensi, yang menunjukkan bahwa gambar atau disk untuk komputer virtual dilisensikan secara lokal. Nilai ini hanya digunakan untuk gambar yang berisi sistem operasi Windows Server. Nilai yang dapat diterima untuk parameter ini adalah:

  • Windows_Client
  • Windows_Server Nilai ini tidak dapat diperbarui. Jika Anda menentukan parameter ini untuk pembaruan, nilai harus cocok dengan nilai awal untuk komputer virtual.
Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Linux

Menunjukkan apakah file disk adalah untuk VM Linux, jika ditentukan; atau Windows, jika tidak ditentukan secara default.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Location

Menentukan lokasi untuk komputer virtual.

Jenis:String
Position:1
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Name

Nama sumber daya VM.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-OpenPorts

Daftar port yang akan dibuka pada kelompok keamanan jaringan (NSG) untuk VM yang dibuat. Nilai default tergantung pada jenis gambar yang dipilih (yaitu, Windows: 3389, 5985 dan Linux: 22).

Jenis:Int32[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-PublicIpAddressName

Nama alamat IP publik baru (atau yang sudah ada) untuk digunakan VM yang dibuat. Jika tidak ditentukan, nama akan dibuat.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ResourceGroupName

Menentukan nama grup sumber daya.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-SecurityGroupName

Nama kelompok keamanan jaringan (NSG) baru (atau yang sudah ada) untuk digunakan VM yang dibuat. Jika tidak ditentukan, nama akan dibuat.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Size

Ukuran Komputer Virtual. Nilai Defaultnya adalah: Standard_DS1_v2.

Jenis:String
Position:Named
Nilai default:Standard_DS1_v2
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SubnetAddressPrefix

Awalan alamat untuk subnet yang akan dibuat untuk VM.

Jenis:String
Position:Named
Nilai default:192.168.1.0/24
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SubnetName

Nama subnet baru (atau yang sudah ada) untuk digunakan VM yang dibuat. Jika tidak ditentukan, nama akan dibuat.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SystemAssignedIdentity

Jika parameter ada, maka VM diberi identitas sistem terkelola yang dibuat secara otomatis.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Tag

Menentukan bahwa sumber daya dan grup sumber daya dapat ditandai dengan sekumpulan pasangan nilai nama. Menambahkan tag ke sumber daya memungkinkan Anda mengelompokkan sumber daya bersama-sama di seluruh grup sumber daya dan membuat tampilan Anda sendiri. Setiap sumber daya atau grup sumber daya dapat memiliki maksimal 15 tag.

Jenis:Hashtable
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-UserAssignedIdentity

Nama identitas layanan terkelola yang harus ditetapkan ke VM.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VirtualNetworkName

Nama jaringan virtual baru (atau yang sudah ada) untuk digunakan VM yang dibuat. Jika tidak ditentukan, nama akan dibuat.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VM

Menentukan komputer virtual lokal yang akan dibuat. Untuk mendapatkan objek komputer virtual, gunakan cmdlet New-AzureRmVMConfig. Cmdlet lain dapat digunakan untuk mengonfigurasi komputer virtual, seperti Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, dan Add-AzureRmVMNetworkInterface.

Jenis:PSVirtualMachine
Alias:VMProfile
Position:2
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Zone

Menentukan daftar zona komputer virtual.

Jenis:String[]
Position:3
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

String

PSVirtualMachine

String[]

Hashtable

Output

PSAzureOperationResponse

PSVirtualMachine