다음을 통해 공유


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

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