Freigeben über


New-AzVmss

Erstellt eine VM-Skalierungsgruppe.

Syntax

New-AzVmss
   [-ResourceGroupName] <String>
   [-VMScaleSetName] <String>
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [-AsJob]
   [-IfMatch <String>]
   [-IfNoneMatch <String>]
   [-EdgeZone <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzVmss
   [[-ResourceGroupName] <String>]
   [-VMScaleSetName] <String>
   [-AsJob]
   [-UserData <String>]
   [-EnableAutomaticOSUpgrade]
   [-IfMatch <String>]
   [-IfNoneMatch <String>]
   [-ImageName <String>]
   -Credential <PSCredential>
   [-InstanceCount <Int32>]
   [-VirtualNetworkName <String>]
   [-SubnetName <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-SecurityGroupName <String>]
   [-LoadBalancerName <String>]
   [-BackendPort <Int32[]>]
   [-Location <String>]
   [-EdgeZone <String>]
   [-VmSize <String>]
   [-UpgradePolicyMode <UpgradeMode>]
   [-AllocationMethod <String>]
   [-VnetAddressPrefix <String>]
   [-SubnetAddressPrefix <String>]
   [-FrontendPoolName <String>]
   [-BackendPoolName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-EnableUltraSSD]
   [-Zone <System.Collections.Generic.List`1[System.String]>]
   [-NatBackendPort <Int32[]>]
   [-DataDiskSizeInGb <Int32[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostGroupId <String>]
   [-Priority <String>]
   [-EvictionPolicy <String>]
   [-MaxPrice <Double>]
   [-ScaleInPolicy <String[]>]
   [-SkipExtensionsOnOverprovisionedVMs]
   [-EncryptionAtHost]
   [-PlatformFaultDomainCount <Int32>]
   [-OrchestrationMode <String>]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [-SinglePlacementGroup]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Das Cmdlet New-AzVmss erstellt einen VM Scale Set (VMSS) in Azure. Verwenden Sie den einfachen Parametersatz (SimpleParameterSet), um schnell eine vordefinierte VMSS und zugeordnete Ressourcen zu erstellen.

Verwenden Sie den Standardparametersatz (DefaultParameter) für komplexere Szenarien, wenn Sie jede Komponente der VMSS und jeder zugeordneten Ressource vor der Erstellung genau konfigurieren müssen. Verwenden Sie für den Standardparametersatz zuerst das Cmdlet New-AzVmssConfig , um ein VM-Skalierungssatzobjekt zu erstellen.

Verwenden Sie dann die folgenden Cmdlets, um verschiedene Eigenschaften des Skalierungssatzobjekts des virtuellen Computers festzulegen:

Weitere Cmdlets für skalierungsgruppe virtueller Computer finden Sie hier.

VMSS creation will default to OrchestrationMode:Flexible. Der Standardparametersatz legt standardmäßig Eigenschaften in VirtualMachineScaleSetVMProfile fest. Verwenden Sie zum Erstellen einer VMSS mit einer leeren VirtualMachineScaleSetVMProfile-Eigenschaft zunächst einen einfachen Parametersatz, indem Sie zuerst ein VirtualMachineScaleSet-Objekt mit einer leeren VirtualMachineScaleSetVMProfile-Eigenschaft mithilfe von New-AzVmssConfig erstellen.


Weitere Informationen finden Sie unter [Schnellstart: Erstellen eines Skalierungssatzes für virtuelle Computer mit Azure PowerShell](https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell) zum Lernprogramm.

Beispiele

Beispiel 1: Erstellen einer VMSS mit dem SimpleParameterSet

$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"

#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd

Der obige Befehl erstellt Folgendes mit dem Namen $vmssName :

  • Eine Ressourcengruppe
  • Ein virtuelles Netzwerk
  • Ein Load Balancer
  • Eine öffentliche IP-Adresse
  • vmSS mit 2 Instanzen

Das Standardimage, das für die virtuellen Computer im VMSS ausgewählt wird, ist 2016-Datacenter Windows Server und die SKU ist Standard_DS1_v2

Beispiel 2: Erstellen einer VMSS mithilfe des DefaultParameterSet

# Common
$LOC = "WestUs";
$RGName = "rgkyvms";

New-AzResourceGroup -Name $RGName -Location $LOC -Force;

# SRP
$STOName = "sto" + $RGName;
$STOType = "Standard_GRS";
New-AzStorageAccount -ResourceGroupName $RGName -Name $STOName -Location $LOC -Type $STOType;
$STOAccount = Get-AzStorageAccount -ResourceGroupName $RGName -Name $STOName;

# NRP
$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" -DnsServer "10.1.1.1" -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 Dynamic -DomainNameLabel ("pubip" + $RGName);
$PubIP = Get-AzPublicIpAddress -Name ("pubip"  + $RGName) -ResourceGroupName $RGName;

# Create LoadBalancer
$FrontendName = "fe" + $RGName
$BackendAddressPoolName = "bepool" + $RGName
$ProbeName = "vmssprobe" + $RGName
$InboundNatPoolName  = "innatpool" + $RGName
$LBRuleName = "lbrule" + $RGName
$LBName = "vmsslb" + $RGName

$Frontend = New-AzLoadBalancerFrontendIpConfig -Name $FrontendName -PublicIpAddress $PubIP
$BackendAddressPool = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackendAddressPoolName
$Probe = New-AzLoadBalancerProbeConfig -Name $ProbeName -RequestPath healthcheck.aspx -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
$InboundNatPool = New-AzLoadBalancerInboundNatPoolConfig -Name $InboundNatPoolName  -FrontendIPConfigurationId `
    $Frontend.Id -Protocol Tcp -FrontendPortRangeStart 3360 -FrontendPortRangeEnd 3367 -BackendPort 3370;
$LBRule = New-AzLoadBalancerRuleConfig -Name $LBRuleName `
    -FrontendIPConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -Protocol Tcp -FrontendPort 80 -BackendPort 80 `
    -IdleTimeoutInMinutes 15 -EnableFloatingIP -LoadDistribution SourceIP;
$ActualLb = New-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName -Location $LOC `
    -FrontendIpConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -LoadBalancingRule $LBRule -InboundNatPool $InboundNatPool;
$ExpectedLb = Get-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName

# New VMSS Parameters
$VMSSName = "vmss" + $RGName;

$AdminUsername = "Admin01";
$AdminPassword = "p4ssw0rd@123" + $RGName;

$PublisherName = "MicrosoftWindowsServer"
$Offer         = "WindowsServer"
$Sku           = "2012-R2-Datacenter"
$Version       = "latest"

$VHDContainer = "https://" + $STOName + ".blob.core.windows.net/" + $VMSSName;

$ExtName = "CSETest";
$Publisher = "Microsoft.Compute";
$ExtType = "BGInfo";
$ExtVer = "2.1";

#IP Config for the NIC
$IPCfg = New-AzVmssIpConfig -Name "Test" `
    -LoadBalancerInboundNatPoolsId $ExpectedLb.InboundNatPools[0].Id `
    -LoadBalancerBackendAddressPoolsId $ExpectedLb.BackendAddressPools[0].Id `
    -SubnetId $SubNetId;

#VMSS Config
$securityTypeStnd = "Standard";
$VMSS = New-AzVmssConfig -Location $LOC -SkuCapacity 2 -SkuName "Standard_E4-2ds_v4" -UpgradePolicyMode "Automatic" -SecurityType $securityTypeStnd `
    | Add-AzVmssNetworkInterfaceConfiguration -Name "Test" -Primary $True -IPConfiguration $IPCfg `
    | Add-AzVmssNetworkInterfaceConfiguration -Name "Test2"  -IPConfiguration $IPCfg `
    | Set-AzVmssOsProfile -ComputerNamePrefix "Test"  -AdminUsername $AdminUsername -AdminPassword $AdminPassword `
    | Set-AzVmssStorageProfile -Name "Test"  -OsDiskCreateOption 'FromImage' -OsDiskCaching "None" `
    -ImageReferenceOffer $Offer -ImageReferenceSku $Sku -ImageReferenceVersion $Version `
    -ImageReferencePublisher $PublisherName -VhdContainer $VHDContainer `
    | Add-AzVmssExtension -Name $ExtName -Publisher $Publisher -Type $ExtType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True

#Create the VMSS
New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $VMSS;

Im obigen komplexen Beispiel wird ein VMSS erstellt. Im Folgenden wird erläutert, was passiert:

  • Der erste Befehl erstellt eine Ressourcengruppe mit dem angegebenen Namen und Speicherort.
  • Der zweite Befehl verwendet das Cmdlet New-AzStorageAccount zum Erstellen eines Speicherkontos.
  • Der dritte Befehl verwendet dann das Cmdlet "Get-AzStorageAccount ", um das speicherkonto abzurufen, das im zweiten Befehl erstellt wurde, und speichert das Ergebnis in der $STOAccount Variablen.
  • Der fünfte Befehl verwendet das Cmdlet New-AzVirtualNetworkSubnetConfig zum Erstellen eines Subnetzes und speichert das Ergebnis in der Variablen namens $SubNet.
  • Der sechste Befehl verwendet das Cmdlet New-AzVirtualNetwork , um ein virtuelles Netzwerk zu erstellen und speichert das Ergebnis in der Variablen namens $VNet.
  • Der siebte Befehl verwendet das Get-AzVirtualNetwork , um Informationen über das virtuelle Netzwerk abzurufen, das im sechsten Befehl erstellt wurde, und speichert die Informationen in der Variablen namens $VNet.
  • Der achte und neunte Befehl verwendet die New-AzPublicIpAddress und Get- AzureRmPublicIpAddress , um Informationen von dieser öffentlichen IP-Adresse zu erstellen und abzurufen.
  • Die Befehle speichern die Informationen in der Variablen namens $PubIP.
  • Der zehnte Befehl verwendet das Cmdlet New- AzureRmLoadBalancerFrontendIpConfig zum Erstellen eines Frontend-Lastenausgleichs und speichert das Ergebnis in der Variablen namens $Frontend.
  • Der elfte Befehl verwendet die New-AzLoadBalancerBackendAddressPoolConfig zum Erstellen einer Back-End-Adresspoolkonfiguration und speichert das Ergebnis in der Variablen namens $BackendAddressPool.
  • Der zwölfte Befehl verwendet die New-AzLoadBalancerProbeConfig , um einen Probepunkt zu erstellen und die Probeinformationen in der Variablen namens $Probe zu speichern.
  • Der dreizehnte Befehl verwendet das Cmdlet New-AzLoadBalancerInboundNatPoolConfig , um eine NAT-Poolkonfiguration (Load Balancer inbound Network Address Translation) zu erstellen.
  • Der vierzehnte Befehl verwendet die New-AzLoadBalancerRuleConfig zum Erstellen einer Lastenausgleichsregelkonfiguration und speichert das Ergebnis in der Variablen namens $LBRule.
  • Der fünfzehnte Befehl verwendet das Cmdlet New-AzLoadBalancer zum Erstellen eines Lastenausgleichs und speichert das Ergebnis in der Variablen mit dem Namen $ActualLb.
  • Der sechzehnte Befehl verwendet den Get-AzLoadBalancer , um Informationen zum Lastenausgleich abzurufen, der im fünfzehnten Befehl erstellt wurde, und speichert die Informationen in der Variablen mit dem Namen $ExpectedLb.
  • Der siebzehnte Befehl verwendet das Cmdlet New-AzVmssIpConfig , um eine VMSS-IP-Konfiguration zu erstellen und die Informationen in der Variablen namens $IPCfg zu speichern.
  • Der achtzehnte Befehl verwendet das Cmdlet New-AzVmssConfig zum Erstellen eines VMSS-Konfigurationsobjekts und speichert das Ergebnis in der Variablen namens $VMSS.
  • Der neunzehnte Befehl verwendet das Cmdlet New-AzVmss , um vmSS zu erstellen.

Beispiel 3: Erstellen eines VMSS mit einem UserData-Wert

$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);

$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";

#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;

Erstellen eines VMSS mit einem UserData-Wert

Beispiel 4: Erstellen einer VMss mit dem Sicherheitstyp TrustedLaunch

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

# VMSS Profile & Hardware requirements for the TrustedLaunch default behavior.
$vmssSize = 'Standard_D4s_v3';
$vmssName1 = 'vmss1' + $rgname;
$imageName = "Win2022AzureEdition";
$adminUsername = "<Username>";
$adminPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential ($adminUsername, $adminPassword);

# VMSS Creation 
$result = New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName1 -ImageName $imageName -SecurityType "TrustedLaunch";
# Validate that for -SecurityType "TrustedLaunch", "-Vtpm" and -"SecureBoot" are "Enabled/true"
# $result.VirtualMachineProfile.SecurityProfile.UefiSettings.VTpmEnabled;
# $result.VirtualMachineProfile.SecurityProfile.UefiSettings.SecureBootEnabled;

In diesem Beispiel wird ein neuer VMSS mit dem neuen Sicherheitstyp "TrustedLaunch" und den erforderlichen UEFISettings-Werten erstellt, VTpmEnabled und SecureBootEnalbed sind wahr. Weitere Informationen finden Sie auf der Seite "Vertrauenswürdige Startfeatures" .

Beispiel 5: Erstellen einer VMss im Orchestrierungsmodus: Standardmäßig flexibel

# Create configration object
$vmssConfig = New-AzVmssConfig -Location EastUs2 -UpgradePolicyMode Manual -SinglePlacementGroup $true

# VMSS Creation 
New-AzVmss -ResourceGroupName TestRg -VMScaleSetName myVMSS -VirtualMachineScaleSet $vmssConfig

In diesem Beispiel wird ein neuer VMSS erstellt und standardmäßig "OrchestrationMode Flexible" verwendet.

Beispiel 6: Standardmäßig ein neues VMSS erstellen, bei dem "TrustedLaunch" aktiviert ist.

$rgname = "<Resource Group>";
$loc = "<Azure Region>";
New-AzResourceGroup -Name $rgname -Location $loc -Force;

$vmssName = 'vmss' + $rgname;
$vmssSize = 'Standard_D4s_v3';
$imageName = "Win2022AzureEdition";
$publisherName = "MicrosoftWindowsServer";
$offer = "WindowsServer";
$sku = "2022-Datacenter-Azure-Edition";
$adminUsername = "<Username>";
$password = "<Password>";

# NRP
$vnetworkName = 'vnet' + $rgname;
$subnetName = 'subnet' + $rgname;
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix "10.0.0.0/24";
$vnet = New-AzVirtualNetwork -Name $vnetworkName -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnet;
$vnet = Get-AzVirtualNetwork -Name $vnetworkName -ResourceGroupName $rgname;
$subnetId = $vnet.Subnets[0].Id;

$ipCfg = New-AzVmssIpConfig -Name 'test' -SubnetId $subnetId;

$vmss = New-AzVmssConfig -Location $loc -SkuCapacity 2 -SkuName $vmssSize -UpgradePolicyMode 'Manual' `
    | Add-AzVmssNetworkInterfaceConfiguration -Name 'test' -Primary $true -IPConfiguration $ipCfg `
    | Set-AzVmssOsProfile -ComputerNamePrefix 'test' -AdminUsername $adminUsername -AdminPassword $password;
    
# Create TL Vmss
$result = New-AzVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName -VirtualMachineScaleSet $vmss;
$vmssGet = Get-AzVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName;

# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.SecurityType is TrustedLaunch.
# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.UefiSettings.VTpmEnabled is True.
# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.UefiSettings.SecureBootEnabled is True.
# Verify $vmssGet.VirtualMachineProfile.StorageProfile.ImageReference.Sku is 2022-Datacenter-Azure-Edition.

Der oben festgelegte Skalierungssatz für virtuelle Computer weist standardmäßig die Option "Vertrauenswürdige Start" auf. Weitere Informationen finden Sie auf der Seite "Vertrauenswürdige Startfeatures" .

Parameter

-AllocationMethod

Zuordnungsmethode für die öffentliche IP-Adresse des Skalierungssatzes (statisch oder dynamisch). Wenn kein Wert angegeben wird, ist die Zuordnung statisch.

Typ:String
Zulässige Werte:Static, Dynamic
Position:Named
Standardwert:Static
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AsJob

Führen Sie das Cmdlet im Hintergrund aus, und geben Sie einen Auftrag zurück, um den Fortschritt nachzuverfolgen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-BackendPoolName

Der Name des Back-End-Adresspools, der im Lastenausgleichsmodul für diesen Skalierungssatz verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neuer Back-End-Pool mit demselben Namen wie der Skalierungssatz erstellt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-BackendPort

Back-End-Portnummern, die vom Scale Set Load Balancer für die Kommunikation mit VMs im Skalierungssatz verwendet werden. Wenn keine Werte angegeben sind, werden die Ports 3389 und 5985 für Windows-VMS verwendet, und Port 22 wird für Linux-VMs verwendet.

Typ:Int32[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CapacityReservationGroupId

ID der Kapazitätsreservierungsgruppe, die für die Zuordnung verwendet wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Credential

Die Administratoranmeldeinformationen (Benutzername und Kennwort) für virtuelle Computer in diesem Skalierungssatz.

Benutzername
Einschränkung:
Windows: Sonderzeichen /"[]:|<>+=;,?*@& oder enden sie in "."
Linux: Benutzername darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten und darf nicht mit einem Bindestrich oder einer Zahl beginnen.
Unzulässige Werte: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
Mindestlänge: 1 Zeichen
Maximale Länge: 20 Zeichen für Windows, 64 Zeichen für Linux
Kennwort
Muss 3 der folgenden Zeichen aufweisen: 1 Kleinbuchstabe, 1 Großbuchstaben, 1 Zahl und 1 Sonderzeichen.
Der Wert muss zwischen 12 und 123 Zeichen lang sein.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DataDiskSizeInGb

Gibt die Größe von Datenträgern in GB an.

Typ:Int32[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DiskControllerType

Gibt den Datenträgercontrollertyp an, der für den virtuellen Computer und VirtualMachineScaleSet konfiguriert ist. Diese Eigenschaft wird nur für virtuelle Computer unterstützt, deren Betriebssystemdatenträger und VM-Sku die Generation 2 unterstützt (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), überprüfen Sie die HyperVGenerations-Funktion, die als Teil der VM-Sku-Funktionen in der Antwort der Microsoft.Compute SKUs-API für die Region V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list) zurückgegeben wird.
Weitere Informationen zu unterstützten Datenträgercontrollertypen finden Sie unter https://aka.ms/azure-diskcontrollertypes.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DomainNameLabel

Die Domänennamenbezeichnung für den öffentlichen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) für diesen Skalierungssatz. Dies ist die erste Komponente des Domänennamens, die dem Skalierungssatz automatisch zugewiesen wird. Automatisch zugewiesene Domänennamen verwenden das Formular (<DomainNameLabel>.<Location>.cloudapp.azure.com). Wenn kein Wert angegeben wird, ist die Standardmäßige Domänennamenbezeichnung die Verkettung von <ScaleSetName> und <ResourceGroupName>.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EdgeZone

Legt den Namen der Randzone fest. Wenn festgelegt, wird die Abfrage anstelle des Hauptbereichs an die angegebene Edgezone weitergeleitet.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-EnableAutomaticOSUpgrade

Gibt an, ob Betriebssystemupgrades automatisch auf Skalierungsgruppeninstanzen angewendet werden sollen, wenn eine neuere Version des Images verfügbar wird.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EnableSecureBoot

Gibt an, ob der sichere Start auf dem virtuellen Computer aktiviert werden soll.

Typ:Nullable<T>[Boolean]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-EnableUltraSSD

Verwenden Sie UltraSSD-Datenträger für die virtuellen Computer im Skalierungssatz.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EnableVtpm

Gibt an, ob vTPM auf dem virtuellen Computer aktiviert werden soll.

Typ:Nullable<T>[Boolean]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-EncryptionAtHost

Dieser Parameter aktiviert die Verschlüsselung für alle Datenträger einschließlich Ressourcen-/Temp-Datenträger auf dem Host selbst. Standard: Die Verschlüsselung auf dem Host wird deaktiviert, es sei denn, diese Eigenschaft ist für die Ressource auf "true" festgelegt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EvictionPolicy

Die Eviction-Richtlinie für den Skalierungssatz für virtuelle Computer mit niedriger Priorität. Nur unterstützte Werte sind "Deallocate" und "Delete".

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-FrontendPoolName

Der Name des Front-End-Adresspools, der im Scale Set Load Balancer verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neuer Frontend-Adresspool mit demselben Namen wie der Skalierungssatz erstellt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HostGroupId

Gibt die dedizierte Hostgruppe an, in der sich der Skalierungssatz des virtuellen Computers befindet.

Typ:String
Aliase:HostGroup
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-IfMatch

wird verwendet, um eine Anforderung für die PUT- und andere nicht sichere Methoden bedingt zu stellen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn die Ressource mit einem der aufgelisteten ETag-Werte übereinstimmt. Lassen Sie diesen Wert aus, um die aktuelle Ressource immer zu überschreiben. Geben Sie den zuletzt gesehenen ETag-Wert an, um zu verhindern, dass gleichzeitige Änderungen versehentlich überschrieben werden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-IfNoneMatch

Wird verwendet, um eine Anforderung für die GET- und HEAD-Methoden bedingt zu machen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn keiner der aufgelisteten ETag-Werte mit der aktuellen Entität übereinstimmt. Wird verwendet, um eine Anforderung für die GET- und HEAD-Methoden bedingt zu machen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn keiner der aufgelisteten ETag-Werte mit der aktuellen Entität übereinstimmt. Legen Sie auf '*' fest, damit ein neuer Datensatzsatz erstellt werden kann, aber um zu verhindern, dass ein vorhandener Datensatzsatz aktualisiert wird. Andere Werte führen zu Einem Fehler vom Server, da sie nicht unterstützt werden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ImageName

Der Alias des Bilds für VMs in diesem Skalierungssatz. Wenn kein Wert angegeben wird, wird das Image "Windows Server 2016 DataCenter" verwendet. Die verfügbaren Aliase sind: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, UbuntuLTS, UbuntuLTS, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.

Typ:String
Aliase:Image
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ImageReferenceId

Gibt die eindeutige ID des freigegebenen Katalogimages für die Bereitstellung von vmss an. Dies kann aus dem GET-Aufruf des freigegebenen Katalogbilds abgerufen werden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InstanceCount

Die Anzahl der VM-Images im Skalierungssatz. Wenn kein Wert angegeben wird, werden 2 Instanzen erstellt.

Typ:Int32
Position:Named
Standardwert:2
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LoadBalancerName

Der Name des Lastenausgleichs, der mit diesem Skalierungssatz verwendet werden soll. Ein neuer Lastenausgleichsmodul mit demselben Namen wie der Skalierungssatz wird erstellt, wenn kein Wert angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Location

Der Azure-Speicherort, an dem dieser Skalierungssatz erstellt wird. Wenn kein Wert angegeben ist, wird der Speicherort vom Speicherort anderer Ressourcen abgeleitet, auf die in den Parametern verwiesen wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxPrice

Der maximale Preis für die Abrechnung eines Skalierungssatzes mit niedriger Priorität für virtuelle Computer.

Typ:Double
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NatBackendPort

Back-End-Port für die Übersetzung eingehender Netzwerkadressen.

Typ:Int32[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OrchestrationMode

Gibt den Orchestrierungsmodus für den Skalierungssatz des virtuellen Computers an. Mögliche Werte: Uniform, Flexibel

Das Erstellen eines VMSS in OrchestrationMode:Flexible mithilfe des Standardparametersatzes führt dazu, dass virtualMachineScaleSetVMProfile standardmäßig aufgefüllt wird. Wenn Sie eine VMSS mit einer leeren VirtualMachineScaleSetVMProfile erstellen möchten, erstellen Sie zuerst ein VirtualMachineScaleSet-Objekt mit leerer VMProfile-Eigenschaft mithilfe von New-AzVmssConfig, und erstellen Sie dann die VMSS mit einfachem Parametersatz.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PlatformFaultDomainCount

Anzahl der Fehlerdomänen für jede Platzierungsgruppe.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Priority

Die Priorität für den virtuellen Computer im Skalierungssatz. Nur unterstützte Werte sind "Regular", "Spot" und "Low". "Normal" ist für einen normalen virtuellen Computer vorgesehen. "Spot" ist für einen virtuellen Spotcomputer vorgesehen. "Niedrig" ist auch für einen virtuellen Spotcomputer vorgesehen, wird aber durch "Spot" ersetzt. Verwenden Sie "Spot" anstelle von "Niedrig".

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ProximityPlacementGroupId

Die Ressourcen-ID der Näherungsplatzierungsgruppe, die mit diesem Skalierungssatz verwendet werden soll.

Typ:String
Aliase:ProximityPlacementGroup
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PublicIpAddressName

Der Name der öffentlichen IP-Adresse, die mit diesem Skalierungssatz verwendet werden soll. Eine neue öffentliche IPAddress mit demselben Namen wie der Skalierungssatz wird erstellt, wenn kein Wert angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceGroupName

Gibt den Namen der Ressourcengruppe der VMSS an. Wenn kein Wert angegeben ist, wird eine neue ResourceGroup mit demselben Namen wie der Skalierungssatz erstellt.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ScaleInPolicy

Die Regeln, die beim Skalieren in einem Skalierungssatz eines virtuellen Computers befolgt werden sollen. Mögliche Werte sind: 'Default', 'OldestVM' und 'NewestVM'. "Standard", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, wird der Skalierungssatz zuerst über Zonen ausgeglichen, wenn es sich um einen Zonal-Skalierungssatz handelt. Anschließend wird es so weit wie möglich über Fehlerdomänen hinweg ausgeglichen. In jeder Fehlerdomäne sind die virtuellen Computer, die für die Entfernung ausgewählt wurden, die neuesten, die nicht vor der Skalierung geschützt sind. "ÄltesteSVM", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, werden die ältesten virtuellen Computer, die nicht vor der Skalierung geschützt sind, zur Entfernung ausgewählt. Bei Skalierungssätzen für virtuelle Maschinen wird der Skalierungssatz zuerst über Zonen hinweg ausgeglichen. Innerhalb jeder Zone werden die ältesten virtuellen Computer, die nicht geschützt sind, zur Entfernung ausgewählt. "NewestVM", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, werden die neuesten virtuellen Computer, die nicht vor der Skalierung geschützt sind, zur Entfernung ausgewählt. Bei Skalierungssätzen für virtuelle Maschinen wird der Skalierungssatz zuerst über Zonen hinweg ausgeglichen. Innerhalb jeder Zone werden die neuesten virtuellen Computer, die nicht geschützt sind, zur Entfernung ausgewählt.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SecurityGroupName

Der Name der Netzwerksicherheitsgruppe, die auf diesen Skalierungssatz angewendet werden soll. Wenn kein Wert angegeben wird, wird eine Standard-Netzwerksicherheitsgruppe mit demselben Namen wie der Skalierungssatz erstellt und auf den Skalierungssatz angewendet.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SecurityType

Gibt den SecurityType des virtuellen Computers an. Sie muss auf einen beliebigen angegebenen Wert festgelegt werden, um UefiSettings zu aktivieren. UefiSettings wird nur aktiviert, wenn diese Eigenschaft festgelegt ist.

Typ:String
Zulässige Werte:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SharedGalleryImageId

Gibt die eindeutige ID des freigegebenen Katalogimages für die Vm-Bereitstellung an. Dies kann aus dem GET-Aufruf des freigegebenen Katalogbilds abgerufen werden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SinglePlacementGroup

Verwenden Sie diese Option, um den Skalierungssatz in einer einzelnen Platzierungsgruppe zu erstellen. Der Standardwert ist mehrere Gruppen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SkipExtensionsOnOverprovisionedVMs

Gibt an, dass die Erweiterungen nicht auf den zusätzlichen überprovisionierten VMs ausgeführt werden.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SubnetAddressPrefix

Das Adresspräfix des Subnetzes dieses ScaleSets wird verwendet. Standardmäßige Subnetzeinstellungen (192.168.1.0/24) werden angewendet, wenn kein Wert angegeben wird.

Typ:String
Position:Named
Standardwert:192.168.1.0/24
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SubnetName

Der Name des Subnetzes, das mit diesem Skalierungssatz verwendet werden soll. Ein neues Subnetz wird mit demselben Namen wie der Skalierungssatz erstellt, wenn kein Wert angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SystemAssignedIdentity

Wenn der Parameter vorhanden ist, wird(n) der VM(en) im Skalierungssatz eine verwaltete Systemidentität zugewiesen, die automatisch generiert wird.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UpgradePolicyMode

Der Upgraderichtlinienmodus für VM-Instanzen in diesem Skalierungssatz. Die Upgraderichtlinie kann automatische, manuelle oder rollierende Upgrades angeben.

Typ:UpgradeMode
Zulässige Werte:Automatic, Manual, Rolling
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UserAssignedIdentity

Der Name einer verwalteten Dienstidentität, die der VM(n) im Skalierungssatz zugewiesen werden soll.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UserData

UserData für die Vmss, die base64-codiert werden. Der Kunde sollte hier keine Geheimnisse weitergeben.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-VirtualMachineScaleSet

Gibt das VirtualMachineScaleSet -Objekt an, das die Eigenschaften der VMSS enthält, die dieses Cmdlet erstellt.

Typ:PSVirtualMachineScaleSet
Position:2
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-VirtualNetworkName

Der Name für das virtuelle Netzwerk, das mit diesem Skalierungssatz verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neues virtuelles Netzwerk mit demselben Namen wie der Skalierungssatz erstellt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VMScaleSetName

Gibt den Namen der VMSS an, die dieses Cmdlet erstellt.

Typ:String
Aliase:Name
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-VmSize

Die Größe der VM-Instanzen in diesem Skalierungssatz. Get-AzComputeResourceSku kann verwendet werden, um verfügbare Größen für Ihr Abonnement und Ihre Region zu ermitteln. Wenn keine Größe angegeben ist, wird eine Standardgröße (Standard_DS1_v2) verwendet.

Typ:String
Position:Named
Standardwert:Standard_DS1_v2
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VnetAddressPrefix

Das Adresspräfix für das virtuelle Netzwerk, das mit diesem Skalierungssatz verwendet wird. Standardmäßige Präfixeinstellungen für virtuelle Netzwerke (192.168.0.0/16) werden verwendet, wenn kein Wert angegeben wird.

Typ:String
Position:Named
Standardwert:192.168.0.0/16
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Zone

Eine Liste der Verfügbarkeitszonen, aus der die für die Ressource zugeordnete IP-Adresse angegeben wird.

Typ:List<T>[String]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Eingaben

String

PSVirtualMachineScaleSet

List<T>[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Ausgaben

PSVirtualMachineScaleSet