다음을 통해 공유


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을 사용하여 가상 머신 개체의 다른 속성을 설정합니다.

예제

예제 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")

이 예제에서는 미리 준비된 일반화된 기존 사용자 지정 운영 체제 이미지를 가져와 데이터 디스크를 연결하고, 새 네트워크를 프로비전하고, 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 값을 사용하여 VMSS의 일부로 새 VM 만들기

$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;

이 예제에서는 PlatformFaultDomain 값을 사용하여 VMSS의 일부로 새 VM을 만듭니다.

예제 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: 신뢰할 수 있는 Launch 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를 사용하여 defualt에 의해 신뢰할 수 있는 시작이 켜져 있는 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 호출로 인해 Gen2 이미지로 TrustedLaunch를 사용하도록 설정된 VM을 만드는 방법을 보여 줍니다. 자세한 내용은 신뢰할 수 있는 시작 기능 페이지를 확인하세요.

=======

매개 변수

-AddressPrefix

VM에 대해 생성될 가상 네트워크의 주소 접두사입니다.

형식:String
Position:Named
Default value:192.168.0.0/16
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AllocationMethod

VM에 대해 생성될 공용 IP에 대한 IP 할당 방법입니다.

형식:String
허용되는 값:Static, Dynamic
Position:Named
Default value:Static
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AsJob

백그라운드에서 cmdlet을 실행하고 작업을 반환하여 진행률을 추적합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AvailabilitySetName

가용성 집합의 이름을 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CapacityReservationGroupId

할당하는 데 사용되는 용량 예약 그룹의 ID입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value: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자

암호
소문자 1개, 대문자 1개, 숫자 1개, 특수 문자 1개 중 3개여야 합니다.
값은 12자에서 123자 사이여야 합니다.

형식:PSCredential
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DataDiskDeleteOption

VM 삭제 후 데이터 디스크 삭제 옵션을 지정합니다. 옵션은 분리, 삭제입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DataDiskSizeInGb

데이터 디스크의 크기를 GB 단위로 지정합니다.

형식:Int32[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DisableBginfoExtension

이 cmdlet이 가상 머신에 BG 정보 확장을 설치하지 않음을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value: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
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DiskFile

클라우드에 업로드하고 VM을 만들기 위한 가상 하드 디스크 파일의 로컬 경로이며 접미사로 '.vhd'가 있어야 합니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DomainNameLabel

VM의 FQDN(정규화된 도메인 이름)에 대한 하위 도메인 레이블입니다. 이 형식 {domainNameLabel}.{location}.cloudapp.azure.com은 다음과 같습니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EdgeZone

에지 영역 이름을 설정합니다. 설정된 경우 쿼리는 주 지역 대신 지정된 에지존으로 라우팅됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-EnableSecureBoot

가상 머신에서 보안 부팅을 사용하도록 설정할지 여부를 지정합니다.

형식:Nullable<T>[Boolean]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-EnableUltraSSD

VM에 UltraSSD 디스크를 사용합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EnableVtpm

가상 머신에서 vTPM을 사용하도록 설정할지 여부를 지정합니다.

형식:Nullable<T>[Boolean]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-EncryptionAtHost

요청에서 사용자가 EncryptionAtHost 속성을 사용하여 가상 머신 또는 가상 머신 확장 집합에 대한 호스트 암호화를 사용하거나 사용하지 않도록 설정할 수 있습니다. 이렇게 하면 호스트 자체의 리소스/임시 디스크를 비롯한 모든 디스크에 대한 암호화가 활성화됩니다. 기본값: 리소스에 대해 이 속성을 true로 설정하지 않으면 호스트의 암호화가 비활성화됩니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EvictionPolicy

Azure Spot 가상 머신에 대한 제거 정책입니다. 지원되는 값은 '할당 취소' 및 '삭제'입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-GenerateSshKey

SSH 공개/프라이빗 키 쌍을 생성하고 Azure에서 SSH 공개 키 리소스를 만듭니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HibernationEnabled

VM에서 최대 절전 모드 기능을 사용하거나 사용하지 않도록 설정하는 플래그입니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-HostGroupId

가상 머신이 상주할 전용 호스트 그룹을 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-HostId

호스트의 ID

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IfMatch

PUT 및 기타 안전하지 않은 메서드에 대한 조건부 요청을 만드는 데 사용됩니다. 서버는 리소스가 나열된 ETag 값 중 하나와 일치하는 경우에만 요청된 리소스를 반환합니다. 현재 리소스를 항상 덮어쓰려면 이 값을 생략합니다. 실수로 동시 변경 내용을 덮어쓰지 않도록 마지막으로 본 ETag 값을 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-IfNoneMatch

GET 및 HEAD 메서드에 대한 조건부 요청을 만드는 데 사용됩니다. 나열된 ETag 값이 현재 엔터티와 일치하지 않는 경우에만 서버에서 요청된 리소스를 반환합니다. GET 및 HEAD 메서드에 대한 조건부 요청을 만드는 데 사용됩니다. 나열된 ETag 값이 현재 엔터티와 일치하지 않는 경우에만 서버에서 요청된 리소스를 반환합니다. 새 레코드 집합을 만들 수 있지만 기존 레코드 집합을 업데이트하지 않도록 하려면 '*'로 설정합니다. 다른 값은 지원되지 않으므로 서버에서 오류가 발생합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Image

VM을 빌드할 친숙한 이미지 이름입니다. 사용 가능한 별칭은 Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.

형식:String
별칭:ImageName
Position:Named
Default value:Win2016Datacenter
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ImageReferenceId

vm 배포에 대한 공유 갤러리 이미지 고유 ID를 지정했습니다. 공유 갤러리 이미지 GET 호출에서 가져올 수 있습니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LicenseType

가상 머신의 이미지 또는 디스크가 온-프레미스에서 사용이 허가되었음을 나타내는 라이선스 유형을 지정합니다. Windows Server에 사용할 수 있는 값은 다음과 같습니다.

  • Windows_Client
  • Windows_Server

Linux Server 운영 체제에 사용할 수 있는 값은 다음과 같습니다.

  • RHEL_BYOS(RHEL의 경우)
  • SLES_BYOS(SUSE의 경우)
형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Linux

지정된 경우 디스크 파일이 Linux VM용인지 여부를 나타냅니다. 또는 Windows(기본적으로 지정되지 않은 경우)입니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Location

가상 머신의 위치를 지정합니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-MaxPrice

우선 순위가 낮은 가상 머신의 최대 청구 가격입니다.

형식:Double
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Name

VM 리소스의 이름입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NetworkInterfaceDeleteOption

VM이 삭제될 때 NetworkInterface 리소스에서 수행할 작업을 지정합니다. 옵션은 분리, 삭제입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-OpenPorts

생성된 VM에 대한 NSG(네트워크 보안 그룹)에서 열 포트 목록입니다. 기본값은 선택한 이미지 유형(예: Windows: 3389, 5985 및 Linux: 22)에 따라 달라집니다.

형식:Int32[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-OSDiskDeleteOption

VM 삭제 후 OS 디스크 삭제 옵션을 지정합니다. 옵션은 분리, 삭제입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PlatformFaultDomain

가상 머신의 장애 도메인을 지정합니다.

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Priority

가상 머신의 우선 순위입니다. 지원되는 값만 'Regular', 'Spot' 및 'Low'입니다. '일반'은 일반 가상 머신용입니다. 'Spot'은 스폿 가상 머신을 위한 것입니다. 'Low'는 스폿 가상 머신용이지만 '스폿'으로 대체됩니다. '낮음' 대신 'Spot'을 사용하세요.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ProximityPlacementGroupId

이 가상 머신에 사용할 근접 배치 그룹의 리소스 ID입니다.

형식:String
별칭:ProximityPlacementGroup
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PublicIpAddressName

사용할 만든 VM에 대한 새(또는 기존) 공용 IP 주소의 이름입니다. 지정하지 않으면 이름이 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PublicIpSku

공용 IP sku 이름을 지정합니다.

허용되는 값은 "기본" 및 "표준"입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ResourceGroupName

리소스 그룹의 이름을 지정합니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SecurityGroupName

만든 VM에서 사용할 새(또는 기존) NSG(네트워크 보안 그룹)의 이름입니다. 지정하지 않으면 이름이 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SecurityType

가상 머신의 SecurityType을 지정합니다. UefiSettings를 사용하도록 설정하려면 지정된 값으로 설정해야 합니다. 이 속성을 설정하지 않으면 기본적으로 UefiSettings를 사용할 수 없습니다.

형식:String
허용되는 값:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-SharedGalleryImageId

vm 배포에 대한 공유 갤러리 이미지 고유 ID를 지정했습니다. 공유 갤러리 이미지 GET 호출에서 가져올 수 있습니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Size

가상 머신 크기입니다. Get-AzComputeResourceSku 를 사용하여 구독 및 지역에 사용 가능한 크기를 확인할 수 있습니다.
기본값은 Standard_D2s_v3.

형식:String
Position:Named
Default value:Standard_D2s_v3
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SshKeyName

SSH 공개 키 리소스의 이름입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SshKeyType

생성할 SSH 키의 유형을 지정합니다. 허용되는 값은 'Ed25519' 및 'RSA'입니다.

형식:String
허용되는 값:Ed25519, RSA
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SubnetAddressPrefix

VM에 대해 생성될 서브넷의 주소 접두사입니다.

형식:String
Position:Named
Default value:192.168.1.0/24
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SubnetName

사용할 만든 VM에 대한 새(또는 기존) 서브넷의 이름입니다. 지정하지 않으면 이름이 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SystemAssignedIdentity

매개 변수가 있으면 VM에 자동으로 생성되는 관리되는 시스템 ID가 할당됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Tag

리소스 및 리소스 그룹에 이름-값 쌍 집합으로 태그를 지정할 수 있도록 지정합니다. 리소스에 태그를 추가하면 리소스 그룹 간에 리소스를 그룹화하고 고유한 보기를 만들 수 있습니다. 각 리소스 또는 리소스 그룹에는 최대 15개의 태그가 포함될 수 있습니다.

형식:Hashtable
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-UserAssignedIdentity

VM에 할당해야 하는 관리 서비스 ID의 이름입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UserData

Base-64로 인코딩되는 VM에 대한 UserData입니다. 고객은 여기에 비밀을 전달해서는 안됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-vCPUCountAvailable

VM에 사용할 수 있는 vCPU 수를 지정합니다. 이 속성이 요청 본문에 지정되지 않은 경우 기본 동작은 해당 지역의 사용 가능한 모든 가상 머신 크기 나열의 api 응답에 노출된 해당 VM 크기에 사용할 수 있는 vCPU 값으로 설정하는 것입니다.

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-vCPUCountPerCore

vCPU와 물리적 코어 비율을 지정합니다. 요청 본문에 이 속성이 지정되지 않은 경우 기본 동작은 지역에서 사용 가능한 모든 가상 머신 크기 목록의 api 응답에 노출된 VM 크기에 대한 vCPUsPerCore 값으로 설정됩니다. 또한 이 속성을 1로 설정하면 하이퍼 스레딩이 비활성화됩니다.

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-VirtualNetworkName

사용할 만든 VM에 대한 새(또는 기존) 가상 네트워크의 이름입니다. 지정하지 않으면 이름이 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-VM

만들 로컬 가상 머신을 지정합니다. 가상 머신 개체를 가져오려면 New-AzVMConfig cmdlet을 사용합니다. Set-AzVMOperatingSystem, Set-AzVMSourceImage 및 Add-AzVMNetworkInterface와 같은 다른 cmdlet을 사용하여 가상 머신을 구성할 수 있습니다.

형식:PSVirtualMachine
별칭:VMProfile
Position:2
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-VmssId

이 VM이 연결될 Virtual Machine Scale Set의 ID

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Zone

가상 머신의 영역을 지정합니다. 영역 배열을 사용하지만 가상 머신은 여러 가용성 영역을 지원하지 않습니다. 허용되는 값은 지역의 기능에 따라 달라집니다. 허용되는 값은 일반적으로 1, 2 또는 3입니다. Azure 가용성 영역에 대한 자세한 정보입니다.

형식:String[]
Position:3
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

PSVirtualMachine

String[]

Hashtable

출력

PSAzureOperationResponse

PSVirtualMachine