New-AzVM
建立虛擬機。
語法
New-AzVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
[-EdgeZone <String>]
[[-Zone] <String[]>]
[-PublicIpSku <String>]
-Name <String>
-Credential <PSCredential>
[-NetworkInterfaceDeleteOption <String>]
[-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]
[-OSDiskDeleteOption <String>]
[-DataDiskSizeInGb <Int32[]>]
[-DataDiskDeleteOption <String>]
[-EnableUltraSSD]
[-ProximityPlacementGroupId <String>]
[-HostId <String>]
[-VmssId <String>]
[-Priority <String>]
[-EvictionPolicy <String>]
[-MaxPrice <Double>]
[-EncryptionAtHost]
[-HostGroupId <String>]
[-SshKeyName <String>]
[-GenerateSshKey]
[-CapacityReservationGroupId <String>]
[-UserData <String>]
[-ImageReferenceId <String>]
[-PlatformFaultDomain <Int32>]
[-HibernationEnabled]
[-vCPUCountAvailable <Int32>]
[-vCPUCountPerCore <Int32>]
[-DiskControllerType <String>]
[-SharedGalleryImageId <String>]
[-SecurityType <String>]
[-EnableVtpm <Boolean>]
[-EnableSecureBoot <Boolean>]
[-IfMatch <String>]
[-IfNoneMatch <String>]
[-SshKeyType <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzVM
[-ResourceGroupName] <String>
[-Location] <String>
[-EdgeZone <String>]
[-VM] <PSVirtualMachine>
[[-Zone] <String[]>]
[-DisableBginfoExtension]
[-Tag <Hashtable>]
[-LicenseType <String>]
[-AsJob]
[-OSDiskDeleteOption <String>]
[-DataDiskDeleteOption <String>]
[-SshKeyName <String>]
[-GenerateSshKey]
[-vCPUCountAvailable <Int32>]
[-vCPUCountPerCore <Int32>]
[-IfMatch <String>]
[-IfNoneMatch <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
[-EdgeZone <String>]
[-PublicIpSku <String>]
-Name <String>
[-NetworkInterfaceDeleteOption <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]
[-OSDiskDeleteOption <String>]
[-DataDiskSizeInGb <Int32[]>]
[-DataDiskDeleteOption <String>]
[-EnableUltraSSD]
[-ProximityPlacementGroupId <String>]
[-HostId <String>]
[-VmssId <String>]
[-Priority <String>]
[-EvictionPolicy <String>]
[-MaxPrice <Double>]
[-EncryptionAtHost]
[-HostGroupId <String>]
[-CapacityReservationGroupId <String>]
[-UserData <String>]
[-PlatformFaultDomain <Int32>]
[-HibernationEnabled]
[-vCPUCountAvailable <Int32>]
[-vCPUCountPerCore <Int32>]
[-IfMatch <String>]
[-IfNoneMatch <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-AzVM Cmdlet 會在 Azure 中建立虛擬機。
此 Cmdlet 會接受虛擬機對象作為輸入。 New-AzVM Cmdlet 會建立新的記憶體帳戶,以便在尚未存在時進行開機診斷。
使用 New-AzVMConfig Cmdlet,來建立虛擬機器物件。
然後使用下列 Cmdlet 來設定虛擬機物件的不同屬性:
- Add-AzVMNetworkInterface 以設定網路配置檔。
- Set-AzVMOperatingSystem 可設定 OS 配置檔。
- Set-AzVMSourceImage 可設定來源映像。
- Set-AzVMOSDisk 以設定 OS 磁碟(記憶體配置檔)。
- Get-AzComputeResourceSku 也可以用來找出訂用帳戶和區域的可用虛擬機大小。
SimpleParameterSet
提供方便的方法,讓常見的 VM 建立自變數成為選擇性的建立 VM。
如需教學課程,請參閱 快速入門:使用 PowerShell 在 Azure 中建立 Windows 虛擬機。
範例
範例 1:建立虛擬機
New-AzVM -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
此範例腳本示範如何建立虛擬機。 腳本會要求 VM 的使用者名稱和密碼。 此腳本會使用數個其他 Cmdlet。
範例 2:從自定義使用者映像建立虛擬機
## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -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-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$securityTypeStnd = "Standard"
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize -SecurityType $securityTypeStnd
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose -Zone @("1")
此範例會採用現有的 sys prepped、一般化自定義操作系統映像,並將數據磁碟連結至該映像、布建新的網路、部署 VHD,然後執行它。 此腳本可用於自動布建,因為它會內嵌使用本機虛擬機管理員認證,而不是呼叫 需要用戶互動的 Get-Credential 。 此文稿假設您已登入 Azure 帳戶。 您可以使用 Get-AzSubscription Cmdlet 來確認登入狀態。
範例 3:從沒有公用 IP 的市集映射建立 VM
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -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-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2022-datacenter-azure-edition-core' -Version latest
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose
此命令會從沒有公用IP的市集映像建立 VM。
範例 4:使用 UserData 值建立 VM:
# VM Account
$VMLocalAdminUser = "LocalAdminUser";
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
# Azure Account
$LocationName = "eastus";
$ResourceGroupName = "MyResourceGroup";
# VM Profile & Hardware
$VMName = 'v' + $ResourceGroupName;
$domainNameLabel = "d1" + $ResourceGroupName;
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
# Create UserData value
$text = "text for UserData";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
# Create VM
New-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Credential $Credential -DomainNameLabel $domainNameLabel -UserData $userData;
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -UserData;
UserData 值必須一律為Base64編碼。
範例 5:在另一個資源群組中建立具有現有子網的新 VM
$UserName = "User"
$Password = ConvertTo-SecureString -String "****" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)
$Vnet = $(Get-AzVirtualNetwork -ResourceGroupName ResourceGroup2 -Name VnetName)
$PIP = (Get-AzPublicIpAddress -ResourceGroupName ResourceGroup2 -Name PublicIPName)
$NIC = New-AzNetworkInterface -Name NICname -ResourceGroupName ResourceGroup2 -Location SouthCentralUS -SubnetId $Vnet.Subnets[1].Id -PublicIpAddressId $PIP.Id
$VirtualMachine = New-AzVMConfig -VMName VirtualMachineName -VMSize Standard_D4s_v3
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName computerName -Credential $psCred -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2022-datacenter-azure-edition-core' -Version latest
New-AzVM -ResourceGroupName ResourceGroup1 -Location SouthCentralUS -VM $VirtualMachine
此範例會從一個資源群組中的市集部署 Windows VM,該資源群組中有另一個資源群組中的現有子網。
範例 6:使用 PlatformFaultDomain 值建立新的 VM 作為 VMSS 的一部分。
$resourceGroupName= "ResourceGroupName";
$loc = 'eastus';
New-AzResourceGroup -Name $resourceGroupName -Location $loc -Force;
$domainNameLabel = "d1" + $resourceGroupName;
$vmname = "vm" + $resourceGroupName;
$platformFaultDomainVMDefaultSet = 2;
$vmssFaultDomain = 3;
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$user = <USERNAME>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
$vmssName = "vmss" + $resourceGroupName;
$vmssConfig = New-AzVmssConfig -Location $loc -PlatformFaultDomainCount $vmssFaultDomain;
$vmss = New-AzVmss -ResourceGroupName $resourceGroupName -Name $vmssName -VirtualMachineScaleSet $vmssConfig;
$vm = New-AzVM -ResourceGroupName $resourceGroupName -Name $vmname -Credential $cred -DomainNameLabel $domainNameLabel -PlatformFaultDomain $platformFaultDomainVMDefaultSet -VmssId $vmss.Id;
此範例會建立新的 VM 作為具有 PlatformFaultDomain 值的 VMSS 的一部分。
範例 7:使用 -Image 別名建立 VM。
$resourceGroupName= "<Resource Group Name>"
$loc = "<Azure Region>"
$domainNameLabel = "<Domain Name Label>"
$vmname = "<Virtual Machine Name>"
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$user = "<Username>"
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword)
New-AzResourceGroup -Name $resourceGroupName -Location $loc -Force
# Create a VM using an Image alias.
$vmname = 'v' + $resourceGroupName
$domainNameLabel = "d" + $resourceGroupName
$vm = New-AzVM -ResourceGroupName $resourceGroupName -Name $vmname -Credential $cred -Image OpenSuseLeap154Gen2 -DomainNameLabel $domainNameLabel
$vm = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmname
此範例會使用 -Image 參數建立新的 VM,為 VM 提供許多預設值。
範例 8:建立受信任啟動 SecurityType 的 VM。
$rgname = <Resource Group Name>;
$loc = "eastus";
New-AzResourceGroup -Name $rgname -Location $loc -Force;
# VM Profile & Hardware
$domainNameLabel1 = 'd1' + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname1 = 'v' + $rgname;
$imageName = "Win2022AzureEdition";
$disable = $false;
$enable = $true;
$securityType = "TrustedLaunch";
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# VM creation using Simple parameterset
New-AzVM -ResourceGroupName $rgname -Location $loc -Name $vmname1 -Credential $cred -Size $vmsize -Image $imageName -DomainNameLabel $domainNameLabel1 -SecurityType $securityType;
$vm1 = Get-AzVM -ResourceGroupName $rgname -Name $vmname1;
# Verify Values
#$vm1.SecurityProfile.SecurityType "TrustedLaunch";
#$vm1.SecurityProfile.UefiSettings.VTpmEnabled $true;
#$vm1.SecurityProfile.UefiSettings.SecureBootEnabled $true;
此範例會建立具有 TrustedLaunch 安全性類型的新 VM,並預設將 EnableSecureBoot 和 EnableVtpm 旗標設定為 True。 受信任的啟動 VM 需要 Gen2 映像。 如需詳細資訊,請參閱 信任的啟動功能頁面 。
範例 9:使用 New-AzVMConfig 來建立已開啟受信任啟動的 VM。
$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$vnetname = "vn" + $rgname;
$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;
$VMSize = "Standard_DS2_v2";
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2022-datacenter-azure-edition";
$version = "latest";
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Network setup
$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;
# VM
$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 $version ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Verify $vm.SecurityProfile.SecurityType is TrustedLaunch
# Verify $vm.SecurityProfile.UefiSettings.SecureBootEnabled is true.
# Verify $vm.SecurityProfile.UefiSettings.VTpmEnabled is true.
此範例示範如何使用有效的 Gen2 映像建立 VM,讓 VM 預設為需要 Gen2 映像的 TrustedLaunch。 如需詳細資訊,請參閱 信任的啟動功能頁面 。
範例 10:建立默認開啟 TrustedLaunch 的 VM。
$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Create VM
$vm = New-AzVM -ResourceGroupName $rgname -Name $vmname -Credential $cred -DomainNameLabel $domainNameLabel;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Verify $vm.SecurityProfile.SecurityType is TrustedLaunch.
# Verify the $vm.StorageProfile.ImageReference.Sku has defaulted to "2022-datacenter-azure-edition", a Gen2 image.
此範例示範使用最小參數的簡單 Cmdlet 呼叫如何產生已啟用 TrustedLaunch 且具有 Gen2 映像的 VM。 如需詳細資訊,請參閱 信任的啟動功能頁面 。
=======
參數
-AddressPrefix
將針對 VM 建立之虛擬網路的位址前綴。
類型: | String |
Position: | Named |
預設值: | 192.168.0.0/16 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AllocationMethod
將針對 VM 建立之公用 IP 的 IP 配置方法。
類型: | String |
接受的值: | Static, Dynamic |
Position: | Named |
預設值: | Static |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AsJob
在背景執行 Cmdlet,並傳回作業以追蹤進度。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AvailabilitySetName
指定可用性設定組的名稱。
類型: | String |
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 |
-DataDiskDeleteOption
指定 VM 刪除之後的數據磁碟刪除選項。 選項為 Detach、Delete
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DataDiskSizeInGb
指定以 GB 為單位的數據磁碟大小。
類型: | Int32[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DisableBginfoExtension
指出此 Cmdlet 不會 在虛擬機上安裝 BG 資訊 擴充功能。
類型: | SwitchParameter |
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 |
-DiskFile
要上傳至雲端並建立 VM 之虛擬硬碟檔案的本機路徑,且其後綴必須是 『.vhd』。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-DomainNameLabel
VM 完整功能變數名稱 (FQDN) 的子域捲標。 這會採用 格式 {domainNameLabel}.{location}.cloudapp.azure.com
。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EdgeZone
設定邊緣區域名稱。 如果設定,查詢將會路由至指定的邊緣區域,而不是主要區域。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | 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
加密AtHost 屬性可由要求中的用戶用來啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 默認值:除非資源將此屬性設定為 true,否則將會停用主機的加密。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EvictionPolicy
Azure Spot 虛擬機的收回原則。 支援的值為 'Deallocate' 和 'Delete'。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-GenerateSshKey
產生 SSH 公開/私鑰組,並在 Azure 上建立 SSH 公鑰資源。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HibernationEnabled
啟用或停用 VM 上休眠功能的旗標。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-HostGroupId
指定虛擬機將位於的專用主機群組。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-HostId
主機的標識碼
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-IfMatch
用來為 PUT 和其他非安全方法提出要求條件。 只有當資源符合其中一個列出的 ETag 值時,伺服器才會傳回所要求的資源。 請省略此值以一律覆寫目前的資源。 指定最後看到的 ETag 值,以防止意外覆寫並行變更。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-IfNoneMatch
用來為 GET 和 HEAD 方法提出要求條件。 如果列出的 ETag 值與目前的實體不相符,則伺服器只會傳回所要求的資源。 用來為 GET 和 HEAD 方法提出要求條件。 如果列出的 ETag 值與目前的實體不相符,則伺服器只會傳回所要求的資源。 設定為 『*』 以允許建立新的記錄集,但為了避免更新現有的記錄集。 其他值會導致伺服器發生錯誤,因為它們不受支援。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Image
將建置 VM 的易記映像名稱。 可用的別名為:Win2022AzureEdition、 Win2022AzureEditionCore、Win2019Datacenter、Win2016Datacenter、Win2012R2Datacenter、Win2012Datacenter、Ubuntu22204、CentOS85Gen2、Debian11、OpenSuseLeap154Gen2、RHELRaw8LVMGen2、SuseSles15SP3、FlatcarLinuxFreeGen2。
類型: | String |
別名: | ImageName |
Position: | Named |
預設值: | Win2016Datacenter |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ImageReferenceId
指定 vm 部署的共享資源庫映像唯一標識碼。 這可以從共用資源庫映像 GET 呼叫擷取。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-LicenseType
指定授權類型,指出虛擬機的映像或磁碟已獲內部部署授權。 Windows Server 的可能值為:
- Windows_Client
- Windows_Server
Linux Server 操作系統的可能值為:
- RHEL_BYOS (RHEL)
- SLES_BYOS (適用於 SUSE)
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Linux
指出磁碟檔案是否為Linux VM,如果指定則為 ;或 Windows,如果未預設指定。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Location
指定虛擬機的位置。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxPrice
低優先順序虛擬機計費的最大價格。
類型: | Double |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
VM 資源的名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-NetworkInterfaceDeleteOption
指定刪除 VM 時,在 NetworkInterface 資源上執行的動作。 選項包括:卸離、刪除。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-OpenPorts
要針對所建立 VM 在網路安全組 (NSG) 上開啟的埠清單。 默認值取決於所選映像的類型(也就是 Windows:3389、5985 和 Linux:22)。
類型: | Int32[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-OSDiskDeleteOption
指定 VM 刪除之後的 OS 磁碟刪除選項。 選項為 Detach、Delete
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PlatformFaultDomain
指定虛擬機的容錯網域。
類型: | 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
所建立 VM 要使用的新(或現有)公用 IP 位址名稱。 如果未指定,則會產生名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PublicIpSku
指定公用IP SKU 名稱
接受的值是 “Basic” 和 “Standard”
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ResourceGroupName
指定資源群組的名稱。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-SecurityGroupName
所建立 VM 要使用的新(或現有)網路安全組名稱。 如果未指定,則會產生名稱。
類型: | 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 |
-Size
虛擬機大小。 Get-AzComputeResourceSku 可用來找出訂用帳戶和區域的可用大小。
默認值為:Standard_D2s_v3。
類型: | String |
Position: | Named |
預設值: | Standard_D2s_v3 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SshKeyName
SSH 公鑰資源的名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SshKeyType
指定要產生的 SSH 金鑰類型。 允許的值為 『Ed25519』 和 『RSA』。
類型: | String |
接受的值: | Ed25519, RSA |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SubnetAddressPrefix
將針對 VM 建立之子網的位址前置詞。
類型: | String |
Position: | Named |
預設值: | 192.168.1.0/24 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SubnetName
所建立 VM 要使用的新(或現有)子網名稱。 如果未指定,則會產生名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SystemAssignedIdentity
如果參數存在,則會將 VM 指派為自動產生的受控系統識別。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Tag
指定可以使用一組名稱/值組來標記資源和資源群組。 將標籤新增至資源可讓您跨資源群組將資源群組在一起,並建立您自己的檢視。 每個資源或資源群組最多可以有15個標籤。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-UserAssignedIdentity
應指派給 VM 的受控服務識別名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserData
VM 的 UserData,其會以base-64編碼。 客戶不應在此傳遞任何秘密。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-vCPUCountAvailable
指定 VM 可用的 vCPU 數目。 當要求本文中未指定此屬性時,預設行為是將它設定為 API 回應 中公開之 VM 大小的 vCPU 值,以列出區域中所有可用的虛擬機大小。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-vCPUCountPerCore
指定 vCPU 與實體核心比率。 當要求本文中未指定這個屬性時,預設行為會設定為 vCPUUsPerCore 的值,以取得在區域中列出所有可用虛擬機大小的 API 回應中公開的 VM 大小。 將此屬性設定為 1 也表示已停用超線程處理。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-VirtualNetworkName
所建立 VM 要使用的新(或現有)虛擬網路名稱。 如果未指定,則會產生名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VM
指定要建立的本機虛擬機。 若要取得虛擬機物件,請使用 New-AzVMConfig Cmdlet。 其他 Cmdlet 可用來設定虛擬機,例如 Set-AzVMOperatingSystem、Set-AzVMSourceImage 和 Add-AzVMNetworkInterface。
類型: | PSVirtualMachine |
別名: | VMProfile |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-VmssId
此 VM 將與此 VM 相關聯的虛擬機擴展集標識碼
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Zone
指定虛擬機的區域。 雖然它採用區域陣列,但虛擬機不支援多個可用性區域。 允許的值取決於區域的功能。 允許的值通常為 1、2 或 3。 Azure 可用性區域的詳細資訊。
類型: | String[] |
Position: | 3 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
String[]