New-AzVmss
建立虛擬機器擴展集。
語法
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>]
[-SkuProfileVmSize <String[]>]
[-SkuProfileAllocationStrategy <String>]
[-DefaultProfile <IAzureContextContainer>]
[-SinglePlacementGroup]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-AzVmss Cmdlet 會在 Azure 中建立虛擬機擴展集 (VMSS)。
使用簡單的參數集 (SimpleParameterSet
) 快速建立預先設定的 VMSS 和相關資源。
當您需要在建立之前精確設定 VMSS 的每個元件和每個相關聯的資源時,請針對更進階的案例使用預設參數集 (DefaultParameter
)。
針對預設參數集,請先使用 New-AzVmssConfig Cmdlet 來建立虛擬機擴展集物件。
然後使用下列 Cmdlet 來設定虛擬機擴展集物件的不同屬性:
- Add-AzVmssNetworkInterfaceConfiguration 以設定網路配置檔。
- Set-AzVmssOsProfile 可設定 OS 配置檔。
- Set-AzVmssStorageProfile 以設定記憶體配置檔。
- Get-AzComputeResourceSku 也可以用來找出訂用帳戶和區域的可用虛擬機大小。
如需虛擬機擴展集 的其他 Cmdlet,請參閱這裡。
VMSS 建立預設為 OrchestrationMode:Flexible。 默認參數集預設會在 VirtualMachineScaleSetVMProfile 中設定屬性。 若要使用空的 VirtualMachineScaleSetVMProfile 屬性建立 VMSS,請先使用 New-AzVmssConfig 建立 VirtualMachineScaleSet 物件的 VirtualMachineScaleSet 物件,以使用 New-AzVmssConfig 來建立簡單的參數。
如需教學課程,請參閱 [快速入門:使用 Azure PowerShell 建立虛擬機擴展集]。https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell)
範例
範例 1:使用 SimpleParameterSet 建立 VMSS
$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
上述指令會使用 名稱 $vmssName
建立下列命令:
- 資源群組
- 虛擬網路
- 負載平衡器
- 公用 IP
- 具有 2 個實例的 VMSS
為 VMSS 中 VM 選擇的預設映像為 2016-Datacenter Windows Server
,而 SKU 為 Standard_DS1_v2
範例 2:使用 DefaultParameterSet 建立 VMSS
# 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;
上述複雜範例會建立 VMSS,以下是所發生狀況的說明:
- 第一個命令會建立具有指定名稱和位置的資源群組。
- 第二個命令會使用 New-AzStorageAccount Cmdlet 來建立記憶體帳戶。
- 第三個命令接著會使用 Get-AzStorageAccount Cmdlet 來取得在第二個命令中建立的記憶體帳戶,並將結果儲存在$STOAccount變數中。
- 第五個命令會使用 New-AzVirtualNetworkSubnetConfig Cmdlet 來建立子網,並將結果儲存在名為 $SubNet 的變數中。
- 第六個命令會使用 New-AzVirtualNetwork Cmdlet 來建立虛擬網路,並將結果儲存在名為 $VNet 的變數中。
- 第七個命令會 使用 Get-AzVirtualNetwork 來取得第六個命令中建立之虛擬網路的相關信息,並將資訊儲存在名為 $VNet 的變數中。
- 第八和第九個命令會使用 New-AzPublicIpAddress 和 Get- AzureRmPublicIpAddress 從該公用 IP 位址建立和取得資訊。
- 命令會將資訊儲存在名為 $PubIP的變數中。
- 第十個命令會使用 New- AzureRmLoadBalancerFrontendIpConfig Cmdlet 來建立前端負載平衡器,並將結果儲存在名為 $Frontend 的變數中。
- 第十一個命令會使用 New-AzLoadBalancerBackendAddressPoolConfig 來建立後端位址池組態,並將結果儲存在名為 $BackendAddressPool 的變數中。
- 第十二個命令會使用 New-AzLoadBalancerProbeConfig 來建立探查,並將探查資訊儲存在名為 $Probe 的變數中。
- 第十三個命令會使用 New-AzLoadBalancerInboundNatPoolConfig Cmdlet 來建立負載平衡器輸入網路地址轉換 (NAT) 集區組態。
- 第十四個命令會使用 New-AzLoadBalancerRuleConfig 來建立負載平衡器規則組態,並將結果儲存在名為 $LBRule 的變數中。
- 第十五個命令會使用 New-AzLoadBalancer Cmdlet 來建立負載平衡器,並將結果儲存在名為 $ActualLb 的變數中。
- 第十六個命令會 使用 Get-AzLoadBalancer 來取得第十五個命令中建立之負載平衡器的相關信息,並將資訊儲存在名為 $ExpectedLb 的變數中。
- 第十七個命令會使用 New-AzVmssIpConfig Cmdlet 來建立 VMSS IP 組態,並將資訊儲存在名為 $IPCfg 的變數中。
- 第十八個命令會使用 New-AzVmssConfig Cmdlet 來建立 VMSS 組態物件,並將結果儲存在名為 $VMSS 的變數中。
- 第十九個命令會使用 New-AzVmss Cmdlet 來建立 VMSS。
範例 3:使用 UserData 值建立 VMSS
$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;
使用 UserData 值建立 VMSS
範例 4:建立具有 TrustedLaunch 安全性類型的 Vmss
$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;
此範例會使用新的安全性類型 'TrustedLaunch' 和必要的 UEFISettings 值建立新的 VMSS,VTpmEnabled 和 SecureBootEnalbed 為 true。 如需詳細資訊,請參閱 信任的啟動功能頁面 。
範例 5:在協調流程模式中建立 Vm:預設為彈性
# Create configration object
$vmssConfig = New-AzVmssConfig -Location EastUs2 -UpgradePolicyMode Manual -SinglePlacementGroup $true
# VMSS Creation
New-AzVmss -ResourceGroupName TestRg -VMScaleSetName myVMSS -VirtualMachineScaleSet $vmssConfig
此範例會建立新的 VMSS,且預設為 OrchestrationMode 彈性。
範例 6:建立默認開啟 TrustedLaunch 的新 VMSS。
$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.
上述虛擬機擴展集預設會啟用 [信任啟動]。 如需詳細資訊,請參閱 信任的啟動功能頁面 。
參數
-AllocationMethod
擴展集公用IP位址的配置方法(靜態或動態)。 如果未提供任何值,配置將會是靜態的。
類型: | String |
接受的值: | Static, Dynamic |
Position: | Named |
預設值: | Static |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AsJob
在背景執行 Cmdlet,並傳回作業以追蹤進度。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-BackendPoolName
此擴展集在負載平衡器中使用的後端位址池名稱。 如果未提供任何值,將會建立新的後端集區,且名稱與擴展集相同。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-BackendPort
擴展集負載平衡器用來與擴展集中 VM 通訊的後埠號碼。 如果未指定任何值,則埠 3389 和 5985 將用於 Windows VM,而埠 22 將用於 Linux VM。
類型: | Int32[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CapacityReservationGroupId
用來配置的容量保留群組標識碼。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
此擴展集中 VM 的系統管理員認證(使用者名稱和密碼)。
使用者名稱
限制:
Windows:不能包含特殊字元 /“”[]:|<>+=;,?*@& 或以 “.
Linux:使用者名稱只能包含字母、數位、連字元和底線,而且不得以連字元或數字開頭。
不允許的值: “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”。
最小長度: 1 個字元
最大長度: Windows 20 個字元,Linux 為 64 個字元
密碼
必須有下列 3 個:1 個小寫字元、1 個大寫字元、1 個數位和 1 個特殊字元。
值長度必須介於 12 到 123 個字元之間。
類型: | PSCredential |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-DataDiskSizeInGb
指定以 GB 為單位的數據磁碟大小。
類型: | Int32[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DiskControllerType
指定為 VM 和 VirtualMachineScaleSet 設定的磁碟控制器類型。 只有操作系統磁碟和 VM SKU 支援第 2 代的https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2虛擬機才支援此屬性,請在區域之 Microsoft.Compute SKU API 的回應中檢查作為 VM SKU 功能的一部分傳回的 HyperVGenerations 功能,其中包含 V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list) 。
如需支援的磁碟控制器類型詳細資訊,請參閱 https://aka.ms/azure-diskcontrollertypes。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DomainNameLabel
此擴展集之公用完整功能變數名稱 (FQDN) 的功能變數名稱卷標。 這是自動指派給擴展集之功能變數名稱的第一個元件。 自動指派的功能變數名稱會使用表單 (<DomainNameLabel>.<Location>.cloudapp.azure.com
)。 如果未提供任何值,預設功能變數名稱標籤將會是和<ResourceGroupName>
的<ScaleSetName>
串連。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EdgeZone
設定邊緣區域名稱。 如果設定,查詢將會路由至指定的邊緣區域,而不是主要區域。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-EnableAutomaticOSUpgrade
當較新版本的映像可用時,是否應該以滾動方式自動將OS升級套用至擴展集實例。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EnableSecureBoot
指定是否應在虛擬機上啟用安全開機。
類型: | Nullable<T>[Boolean] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-EnableUltraSSD
針對擴展集中的 VM 使用 UltraSSD 磁碟。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EnableVtpm
指定是否應在虛擬機上啟用 vTPM。
類型: | Nullable<T>[Boolean] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-EncryptionAtHost
此參數會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 默認值:除非資源將此屬性設定為 true,否則將會停用主機的加密。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EvictionPolicy
低優先順序虛擬機擴展集的收回原則。 只有支援的值為 『Deallocate』 和 『Delete』。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FrontendPoolName
在擴展集負載平衡器中使用的前端位址池名稱。 如果未提供任何值,將會建立新的前端位址池,其名稱與擴展集相同。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HostGroupId
指定虛擬機擴展集將位於的專用主機群組。
類型: | String |
別名: | HostGroup |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-IfMatch
用來為 PUT 和其他非安全方法提出要求條件。 只有當資源符合其中一個列出的 ETag 值時,伺服器才會傳回所要求的資源。 請省略此值以一律覆寫目前的資源。 指定最後看到的 ETag 值,以防止意外覆寫並行變更。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-IfNoneMatch
用來為 GET 和 HEAD 方法提出要求條件。 如果列出的 ETag 值與目前的實體不相符,則伺服器只會傳回所要求的資源。 用來為 GET 和 HEAD 方法提出要求條件。 如果列出的 ETag 值與目前的實體不相符,則伺服器只會傳回所要求的資源。 設定為 『*』 以允許建立新的記錄集,但為了避免更新現有的記錄集。 其他值會導致伺服器發生錯誤,因為它們不受支援。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ImageName
此擴展集中 VM 映像的別名。 如果未提供任何值,則會使用 「Windows Server 2016 DataCenter」 映射。 可用的別名為:Win2022AzureEdition、 Win2022AzureEditionCore、Win2019Datacenter、Win2016Datacenter、Win2012R2Datacenter、Win2012Datacenter、UbuntuLTS、Ubuntu2204、CentOS85Gen2、Debian11、OpenSuseLeap154Gen2、RHELRaw8LVMGen2、SuseSles15SP3、FlatcarLinuxFreeGen2。
類型: | String |
別名: | Image |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ImageReferenceId
指定 vmss 部署的共享資源庫映像唯一標識碼。 這可以從共用資源庫映像 GET 呼叫擷取。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InstanceCount
擴展集中的 VM 映射數目。 如果未提供任何值,則會建立 2 個實例。
類型: | Int32 |
Position: | Named |
預設值: | 2 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-LoadBalancerName
要與這個擴展集搭配使用的負載平衡器名稱。 如果未指定任何值,將會建立與擴展集同名的新負載平衡器。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Location
將建立此擴展集的 Azure 位置。 如果未指定任何值,則會從參數中參考的其他資源位置推斷位置。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxPrice
低優先順序虛擬機擴展集計費的最大價格。
類型: | Double |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-NatBackendPort
輸入網路地址轉譯的後埠。
類型: | Int32[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-OrchestrationMode
指定虛擬機擴展集的協調流程模式。 可能的值:統一、彈性
使用預設參數集在 OrchestrationMode:Flexible 中建立 VMSS 會導致 VirtualMachineScaleSetVMProfile 預設填入。 如果您想要使用空的 VirtualMachineScaleSetVMProfile 建立 VMSS,請先使用 New-AzVmssConfig 建立具有空白 VMProfile 属性的 VirtualMachineScaleSet 對象,然後使用簡單的參數集建立 VMSS。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-PlatformFaultDomainCount
每個放置群組的容錯網域計數。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Priority
擴展集中虛擬機的優先順序。 只有支援的值為 『Regular』、'Spot' 和 'Low'。 「一般」適用於一般虛擬機。 「現成」適用於現成虛擬機。 「低」也適用於現成虛擬機,但會取代為「現成」。 請使用 'Spot' 而不是 'Low'。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ProximityPlacementGroupId
要與這個擴展集搭配使用的鄰近放置群組的資源標識符。
類型: | String |
別名: | ProximityPlacementGroup |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PublicIpAddressName
要與這個擴展集搭配使用的公用IP位址名稱。 如果未提供任何值,將會建立名稱與擴展集相同的新公用IPAddress。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ResourceGroupName
指定 VMSS 的資源群組名稱。 如果未指定任何值,將會使用與擴展集相同的名稱來建立新的 ResourceGroup。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ScaleInPolicy
調整虛擬機擴展集時要遵循的規則。 可能的值為:'Default'、'OldestVM' 和 'NewestVM'。 當虛擬機擴展集相應縮小時,如果擴展集是區域性擴展集,擴展集會先在區域之間平衡。 然後,它會盡可能跨容錯網域進行平衡。 在每個容錯網域內,選擇移除的虛擬機將會是不受相應縮小保護的最新虛擬機。 當虛擬機擴展集正在相應縮小時,將會選擇未受相應縮小保護的最舊虛擬機進行移除。 針對區域性虛擬機擴展集,擴展集會先跨區域進行平衡。 在每個區域內,將會選擇未受保護的最舊虛擬機來移除。 當虛擬機擴展集正在相應縮小時,將會選擇未受相應縮小保護的最新虛擬機來移除。 針對區域性虛擬機擴展集,擴展集會先跨區域進行平衡。 在每個區域內,將會選擇未受保護的最新虛擬機來移除。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecurityGroupName
要套用至此擴展集的網路安全組名稱。 如果未提供任何值,則會建立名稱與擴展集相同的默認網路安全組,並套用至擴展集。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecurityType
指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 除非已設定此屬性,否則不會啟用 UefiSettings。
類型: | String |
接受的值: | TrustedLaunch, ConfidentialVM, Standard |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-SharedGalleryImageId
指定 vm 部署的共享資源庫映像唯一標識碼。 這可以從共用資源庫映像 GET 呼叫擷取。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SinglePlacementGroup
使用此方式在單一放置群組中建立擴展集,預設值為多個群組
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SkipExtensionsOnOverprovisionedVMs
指定延伸模組不會在額外的過度布建 VM 上執行。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SkuProfileAllocationStrategy
SKU 配置檔的配置策略。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-SkuProfileVmSize
擴展集的 VM 大小陣列。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-SubnetAddressPrefix
此 ScaleSet 將使用之子網的地址前綴。 如果未提供任何值,則會套用預設子網設定 (192.168.1.0/24)。
類型: | String |
Position: | Named |
預設值: | 192.168.1.0/24 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SubnetName
要與這個擴展集搭配使用的子網名稱。 如果未提供任何值,則會使用與擴展集相同的名稱來建立新的子網。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SystemAssignedIdentity
如果參數存在,擴展集中的 VM 會指派自動產生的受控系統識別。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UpgradePolicyMode
此擴展集中 VM 實例的升級原則模式。 升級原則可以指定自動、手動或滾動升級。
類型: | UpgradeMode |
接受的值: | Automatic, Manual, Rolling |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserAssignedIdentity
應指派給擴展集中 VM 的受控服務識別名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserData
Vmss 的 UserData,其會以base-64編碼。 客戶不應在此傳遞任何秘密。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-VirtualMachineScaleSet
指定 VirtualMachineScaleSet 物件,其中包含此 Cmdlet 所建立之 VMSS 的屬性。
類型: | PSVirtualMachineScaleSet |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-VirtualNetworkName
要與這個擴展集搭配使用的 虛擬網絡 名稱。 如果未提供任何值,將會建立名稱與擴展集相同的新虛擬網路。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VMScaleSetName
指定此 Cmdlet 所建立的 VMSS 名稱。
類型: | String |
別名: | Name |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-VmSize
此擴展集中 VM 實例的大小。 Get-AzComputeResourceSku 可用來找出訂用帳戶和區域的可用大小。 如果未指定 Size,則會使用預設大小 (Standard_DS1_v2)。
類型: | String |
Position: | Named |
預設值: | Standard_DS1_v2 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VnetAddressPrefix
與這個擴展集搭配使用的虛擬網路位址前綴。 如果未提供任何值,則會使用預設虛擬網路位址前綴設定 (192.168.0.0/16)。
類型: | String |
Position: | Named |
預設值: | 192.168.0.0/16 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Zone
可用性區域清單,表示為資源配置的IP必須來自。
類型: | List<T>[String] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
List<T>[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]