New-AzVMConfig

Yapılandırılabilir bir sanal makine nesnesi oluşturur.

Syntax

New-AzVMConfig
   [-VMName] <String>
   [-VMSize] <String>
   [[-AvailabilitySetId] <String>]
   [[-LicenseType] <String>]
   [-Zone <String[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-MaxPrice <Double>]
   [-EvictionPolicy <String>]
   [-Priority <String>]
   [-Tags <Hashtable>]
   [-EnableUltraSSD]
   [-EncryptionAtHost]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-UserData <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzVMConfig
   [-VMName] <String>
   [-VMSize] <String>
   [[-AvailabilitySetId] <String>]
   [[-LicenseType] <String>]
   [-IdentityType] <ResourceIdentityType>
   [-IdentityId <String[]>]
   [-Zone <String[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-MaxPrice <Double>]
   [-EvictionPolicy <String>]
   [-Priority <String>]
   [-Tags <Hashtable>]
   [-EnableUltraSSD]
   [-EncryptionAtHost]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-UserData <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

New-AzVMConfig cmdlet'i Azure için yapılandırılabilir bir yerel sanal makine nesnesi oluşturur.

Aşağıdaki cmdlet'ler sanal makine nesnesinin farklı özelliklerini ayarlamak için kullanılır:

Örnekler

Örnek 1: Sanal makine kaynağı oluşturma

$rgname = "resourceGroupName";
$loc = "eastus";

New-AzResourceGroup -Name $rgname -Location $loc -Force;

# General Setup
$vmname = 'v' + $rgname;
$domainNameLabel = "d1" + $rgname;
$vmSize = 'Standard_DS3_v2';
$computerName = "c" + $rgname;
$securityTypeStnd = "Standard";
        
# Credential. Input Username and Password values
$user = "";
$securePassword = "" | ConvertTo-SecureString -AsPlainText -Force;  
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
        
# Creating a VMConfig 
$vmconfig = New-AzVMConfig -VMName $vmname -vmsize $vmsize -SecurityType $securityTypeStnd;

# Set source image values
$publisherName = "MicrosoftWindowsServer";
$offer = "WindowsServer";
$sku = "2019-DataCenter";
$vmconfig = Set-AzVMSourceImage -VM $vmconfig -PublisherName $publisherName -Offer $offer -Skus $sku -Version 'latest';

# NRP Setup
$subnet = New-AzVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
$vnet = New-AzVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnet;
$vnet = Get-AzVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
$subnetId = $vnet.Subnets[0].Id;
$pubip = New-AzPublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Static -DomainNameLabel $domainNameLabel;
$pubip = Get-AzPublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
$pubipId = $pubip.Id;
$nic = New-AzNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
$nic = Get-AzNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
$nicId = $nic.Id;

$vmconfig = Add-AzVMNetworkInterface -VM $vmconfig -Id $nicId;
$vmconfig = Set-AzVMOperatingSystem -VM $vmconfig -Windows -ComputerName $computerName -Credential $cred;

# Create the VM
New-AzVM -ResourceGroupName $rgname -Location $loc -Vm $vmconfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;

Örnek 2: Hata etki alanları kurulumuyla bir sanal makine ölçek kümesinde sanal makine nesnesi oluşturma

$rgname = "resourceGroupName";
$loc = "eastus";
$vmname = "vm" + $rgname;

New-AzResourceGroup -Name $rgname -Location $loc -Force;

$domainNameLabel = "d1" + $rgname;
$vmname = "v" + $rgname;
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$vmssName = "vmss" + $rgname;
$faultDomainNumber = 2;
$vmssFaultDomain = 3;
$securityTypeStnd = "Standard";

$OSDiskName = $vmname + "-osdisk";
$NICName = $vmname+ "-nic";
$NSGName = $vmname + "-NSG";
$OSDiskSizeinGB = 128;
$VMSize = "Standard_DS2_v2";
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2019-Datacenter";
        
# Credential. Input Username and Password values.
$user = "";
$securePassword = "" | ConvertTo-SecureString -AsPlainText -Force;  
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;

$vmssConfig = New-AzVmssConfig -Location $loc -PlatformFaultDomainCount $vmssFaultDomain -SecurityType $securityTypeStnd;
$vmss = New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $vmssConfig;

$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $RGName -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $RGName -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;

# VM
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $VMSize  -VmssId $vmss.Id -PlatformFaultDomain $faultDomainNumber -SecurityType $securityTypeStnd;
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $cred ;
Set-AzVMOSDisk -VM $vmConfig -StorageAccountType "Premium_LRS" -Caching ReadWrite -Name $OSDiskName -DiskSizeInGB $OSDiskSizeinGB -CreateOption FromImage ;
Set-AzVMSourceImage -VM $vmConfig -PublisherName $PublisherName -Offer $Offer -Skus $SKU -Version latest ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;

New-AzVM -ResourceGroupName $RGName -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmName;

Örnek 2: TrustedLaunch Güvenlik Türü için Sanal Makine Yapılandırması nesnesini kullanarak vm oluşturma, Vtpm bayrakları ve Güvenli Önyükleme varsayılan olarak True olarak ayarlanır.

$rgname = "rgname";
$loc = "eastus";
New-AzResourceGroup -Name $rgname -Location $loc -Force;    
 
# VM Profile & Hardware
$domainNameLabel = "d1" + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname = $rgname + 'Vm';
$securityType_TL = "TrustedLaunch";
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$OSDiskName = $vmname + "-osdisk";
$NICName = $vmname+ "-nic";
$NSGName = $vmname + "-NSG";
$OSDiskSizeinGB = 128;
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2016-datacenter-gensecond";
$disable = $false;
$enable = $true;
$extDefaultName = "GuestAttestation";
$vmGADefaultIDentity = "SystemAssigned";
# Credential
$password = <Password>;
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;  
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Network resources
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgname -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $rgname -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;
# Configure Values using VMConfig Object
$vmConfig = New-AzVMConfig -VMName $vmname -VMSize $vmsize;
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmname -Credential $cred;
Set-AzVMSourceImage -VM $vmConfig -PublisherName $PublisherName -Offer $Offer -Skus $SKU -Version latest ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;
  
# VM Creation using VMConfig for Trusted Launch SecurityType
$vmConfig = Set-AzVMSecurityProfile -VM $vmConfig -SecurityType $securityType_TL;
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Validate that for -SecurityType "TrustedLaunch", "-Vtpm" and "-SecureBoot" are "Enabled/true"
#$vm.SecurityProfile.UefiSettings.VTpmEnabled $true;
#$vm.SecurityProfile.UefiSettings.SecureBootEnabled $true;

Bu örnek, TrustedLaunch Güvenlik Türü için VMConfig nesnesi kullanarak bir VM oluşturur ve VtpmEnabled ve SecureBootEnabled bayraklarının varsayılan olarak true olduğunu doğrular.

Parametreler

-AvailabilitySetId

Kullanılabilirlik kümesinin kimliğini belirtir. Kullanılabilirlik kümesi nesnesi almak için Get-AzAvailabilitySet cmdlet'ini kullanın. Kullanılabilirlik kümesi nesnesi bir ID özelliği içerir.
Aynı kullanılabilirlik kümesinde belirtilen sanal makineler, kullanılabilirliği en üst düzeye çıkarmak için farklı düğümlere ayrılır.
Kullanılabilirlik kümeleri hakkında daha fazla bilgi için bkz . Sanal makinelerin kullanılabilirliğini yönetme.
Azure planlı bakımı hakkında daha fazla bilgi için bkz. Azure'da sanal makineler için planlı bakım
Şu anda vm yalnızca oluşturma zamanında kullanılabilirlik kümesine eklenebilir. VM'nin eklendiği kullanılabilirlik kümesi, kullanılabilirlik kümesi kaynağıyla aynı kaynak grubu altında olmalıdır. Mevcut vm kullanılabilirlik kümesine eklenemez.
Bu özellik null olmayan bir properties.virtualMachineScaleSet başvurusuyla birlikte bulunamaz.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CapacityReservationGroupId

Ayırmak için kullanılan kapasite rezervasyon Grubunun kimliği.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskControllerType

VM ve VirtualMachineScaleSet için yapılandırılan disk denetleyicisi türünü belirtir. Bu özellik yalnızca işletim sistemi diski ve VM sku'su 2. Nesil'i (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2 ) destekleyen sanal makineler için desteklenir; lütfen bölge için Microsoft.Compute SKU'ları api'sinin V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list) içerdiği yanıtta VM sku özelliklerinin bir parçası olarak döndürülen HyperVGenerations özelliğini denetleyin.
Desteklenen Disk Denetleyicisi Türleri hakkında daha fazla bilgi için bkz https://aka.ms/azure-diskcontrollertypes. .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableSecureBoot

Sanal makinede güvenli önyüklemenin etkinleştirilip etkinleştirilmeymeyeceğini belirtir.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableUltraSSD

Vm'de UltraSSD_LRS depolama hesabı türüne sahip bir veya daha fazla yönetilen veri diski olmasını sağlar. Depolama hesabı türü UltraSSD_LRS yönetilen diskler yalnızca bu özellik etkinse sanal makineye eklenebilir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableVtpm

Sanal makinede vTPM'nin etkinleştirilip etkinleştirilmeymeyeceğini belirtir.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionAtHost

EncryptionAtHost özelliği, kullanıcı tarafından istekte sanal makine veya sanal makine ölçek kümesi için Konak Şifrelemesi'ni etkinleştirmek veya devre dışı bırakmak için kullanılabilir. Bu, ana bilgisayarın kendisinde Kaynak/Geçici disk de dahil olmak üzere tüm diskler için şifrelemeyi etkinleştirir. Varsayılan: Bu özellik kaynak için true olarak ayarlanmadığı sürece konakta şifreleme devre dışı bırakılır.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EvictionPolicy

Azure Spot sanal makinesi için çıkarma ilkesi. Desteklenen değerler 'Serbest Bırak' ve 'Sil' değerleridir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HibernationEnabled

VM'de hazırda bekletme özelliğini etkinleştiren veya devre dışı bırakan bayrak.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HostId

Ana Bilgisayarın Kimliği

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

Sanal makine ölçek kümesiyle ilişkili kullanıcı kimliklerinin listesini belirtir. Kullanıcı kimliği başvuruları şu biçimde ARM kaynak kimlikleri olacaktır: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IdentityType

Yapılandırıldıysa sanal makinenin kimliği.

Type:Nullable<T>[ResourceIdentityType]
Accepted values:SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None
Position:4
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ImageReferenceId

Vm dağıtımı için paylaşılan galeri görüntüsü benzersiz kimliği belirtildi. Bu, paylaşılan galeri görüntüsü GET çağrısından getirilebilir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseType

Sanal makine için görüntü veya diskin şirket içinde lisanslandığını gösteren bir lisans türü belirtir. Windows Server için olası değerler şunlardır:

  • Windows_Client
  • Windows_Server

Linux Server işletim sistemi için olası değerler şunlardır:

  • RHEL_BYOS (RHEL için)
  • SLES_BYOS (SUSE için)
Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxPrice

Düşük öncelikli bir VM/VMSS için ödemek istediğiniz maksimum fiyatı belirtir. Bu fiyat ABD Doları cinsindendir. Bu fiyat, VM boyutu için geçerli düşük öncelikli fiyatla karşılaştırılır. Ayrıca, düşük öncelikli VM/VMSS oluşturma/güncelleştirme sırasında fiyatlar karşılaştırılır ve işlem ancak maxPrice geçerli düşük öncelikli fiyattan büyükse başarılı olur. MaxPrice, vm/VMSS oluşturulduktan sonra geçerli düşük öncelikli fiyat maxPrice değerinin ötesine geçerse düşük öncelikli vm/VMSS çıkarmak için de kullanılır. Olası değerler şunlardır: sıfırdan büyük herhangi bir ondalık değer. Örnek: 0,01538. -1, düşük öncelikli VM/VMSS'nin fiyat nedeniyle çıkarılmaması gerektiğini gösterir. Ayrıca, sizin tarafınızdan sağlanmadıysa varsayılan en yüksek fiyat -1'dir.

Type:Double
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PlatformFaultDomain

Sanal makinenin hata etki alanını belirtir.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

Sanal makinenin önceliği. Yalnızca desteklenen değerler 'Normal', 'Spot' ve 'Düşük' değerleridir. 'Normal', normal sanal makine içindir. 'Spot', spot sanal makinesi içindir. 'Düşük' aynı zamanda spot sanal makine içindir ancak yerine 'Spot' kullanılmaktadır. Lütfen 'Düşük' yerine 'Spot' kullanın.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProximityPlacementGroupId

Bu sanal makineyle kullanılacak Yakınlık Yerleştirme Grubunun kaynak kimliği.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SecurityType

Sanal makinenin SecurityType değerini belirtir. Uefi Ayarlar'yi etkinleştirmek için belirtilen herhangi bir değere ayarlanması gerekir. Varsayılan olarak, bu özellik ayarlanmadığı sürece Uefi Ayarlar etkinleştirilmez.

Type:String
Accepted values:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SharedGalleryImageId

Vm dağıtımı için paylaşılan galeri görüntüsü benzersiz kimliği belirtildi. Bu, paylaşılan galeri görüntüsü GET çağrısından getirilebilir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

Kaynağa eklenen etiketler.

Type:Hashtable
Aliases:Tag
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UserData

Vm için UserData, base-64 kodlanmış olacaktır. Müşteri burada hiçbir gizli dizi geçirmemelidir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-vCPUCountAvailable

VM için kullanılabilen vCPU sayısını belirtir. Bu özellik istek gövdesinde belirtilmezse, varsayılan davranış bunu bir bölgedeki kullanılabilir tüm sanal makine boyutlarını listele api yanıtında gösterilen vm boyutu için kullanılabilir vCPU değerine ayarlamaktır.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-vCPUCountPerCore

vCPU ile fiziksel çekirdek oranını belirtir. Bu özellik istek gövdesinde belirtilmediğinde, varsayılan davranış, bir bölgedeki tüm kullanılabilir sanal makine boyutlarını listele api yanıtında kullanıma sunulan VM Boyutu için vCPUsPerCore değerine ayarlanır. Bu özelliğin 1 olarak ayarlanması, hiper iş parçacığının devre dışı bırakıldığını da gösterir.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Sanal makine için bir ad belirtir.

Type:String
Aliases:ResourceName, Name
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMSize

Sanal makinenin boyutunu belirtir. Get-AzComputeResourceSku , aboneliğiniz ve bölgeniz için kullanılabilir boyutları bulmak için kullanılabilir.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VmssId

Sanal makine ölçek kümesinin kimliği

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Zone

Sanal makine için kullanılabilirlik bölgesini belirtir. Bir bölge dizisini alsa da, sanal makineler birden çok kullanılabilirlik bölgesini desteklemez. İzin verilen değer, bölgenin özelliklerine bağlıdır. İzin verilen değer normalde 1, 2 veya 3 olur. Azure kullanılabilirlik alanları hakkında daha fazla bilgi.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Girişler

String

String[]

Hashtable

SwitchParameter

Çıkışlar

PSVirtualMachine