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[]