Поделиться через


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>]
   [-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>]

Описание

Командлет New-AzVM создает виртуальную машину в Azure. Этот командлет принимает объект виртуальной машины в качестве входных данных. Командлет New-AzVM создаст новую учетную запись хранения для загрузки диагностика если она еще не существует.

Создайте объект виртуальной машины с помощью командлета New-AzVMConfig.
Затем используйте следующие командлеты, чтобы задать различные свойства объекта виртуальной машины:

Примеры

Пример 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

В этом примере скрипта показано, как создать виртуальную машину. Скрипт запрашивает имя пользователя и пароль для виртуальной машины. Этот скрипт использует несколько других командлетов.

Пример 2. Создание виртуальной машины из пользовательского образа пользователя

## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Password" -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")

В этом примере выполняется предварительно подготовленный системный образ, обобщенный пользовательский образ операционной системы и присоединение к нему диска данных, подготовка новой сети, развертывание виртуального жесткого диска и его запуск. Этот скрипт можно использовать для автоматической подготовки, так как он использует встроенные учетные данные администратора виртуальной машины вместо вызова Get-Credential , требующего взаимодействия с пользователем. Этот сценарий предполагает, что вы уже вошли в учетную запись Azure. Вы можете подтвердить состояние входа с помощью командлета Get-AzSubscription .

Пример 3. Создание виртуальной машины из образа Marketplace без общедоступного IP-адреса

$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString "password" -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

Эта команда создает виртуальную машину из образа Marketplace без общедоступного IP-адреса.

Пример 4. Создание виртуальной машины со значением UserData:

# VM Account
$VMLocalAdminUser = "LocalAdminUser";
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Password" -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. Создание виртуальной машины с существующей подсетью в другой группе ресурсов

$UserName = "User"
$Password = ConvertTo-SecureString "############" -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 из Marketplace развертывается в одной группе ресурсов с существующей подсетью в другой группе ресурсов.

Пример 6. Создание виртуальной машины в составе VMSS со значением PlatformFaultDomain.

$resourceGroupName= "ResourceGroupName";
$loc = 'eastus';
New-AzResourceGroup -Name $resourceGroupName -Location $loc -Force;

$domainNameLabel = "d1" + $resourceGroupName;
$vmname = "vm" + $resourceGroupName;
$platformFaultDomainVMDefaultSet = 2;
$vmssFaultDomain = 3;
$securePassword = <PASSWORD> | ConvertTo-SecureString -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;

В этом примере создается виртуальная машина в составе VMSS со значением PlatformFaultDomain.

Пример 7. Создание виртуальной машины с помощью псевдонима -Image.

$resourceGroupName= "<Resource Group Name>"
$loc = "<Azure Region>"
$domainNameLabel = "<Domain Name Label>"
$vmname = "<Virtual Machine Name>"
$securePassword = "<Password>" | ConvertTo-SecureString -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, предоставляющего множество значений по умолчанию для виртуальной машины.

Пример 8. Создание виртуальной машины для доверенного типа безопасности запуска.

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

$password = <Password>;
$securePassword = $password | ConvertTo-SecureString -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 и по умолчанию задает флаги EnableSecureBoot и EnableVtpm как True. Для виртуальной машины доверенного запуска требуется образ 2-го поколения. Дополнительные сведения см . на странице функции доверенного запуска.

Пример 9. Создание виртуальной машины с включенным доверенным запуском с помощью New-AzVMConfig.

$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";
$password = "<Password>";
$securePassword = $password | ConvertTo-SecureString -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.

В этом примере показано, как создать виртуальную машину с допустимым образом 2-го поколения, что позволяет виртуальной машине по умолчанию использовать TrustedLaunch, для которой требуются образы 2-го поколения. Дополнительные сведения см . на странице функции доверенного запуска.

Пример 10. Создание виртуальной машины с включенным TrustedLaunch по умолчанию.

$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$password = "<Password>";
$securePassword = $password | ConvertTo-SecureString -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.

В этом примере показано, как простой вызов командлета с минимальными параметрами приведет к включенной виртуальной машине TrustedLaunch с изображением 2-го поколения. Дополнительные сведения см . на странице функции доверенного запуска.

=======

Параметры

-AddressPrefix

Префикс адреса для виртуальной сети, которая будет создана для виртуальной машины.

Тип:String
Position:Named
Default value:192.168.0.0/16
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AllocationMethod

Метод выделения IP-адресов для общедоступного IP-адреса, который будет создан для виртуальной машины.

Тип:String
Допустимые значения:Static, Dynamic
Position:Named
Default value:Static
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AsJob

Запустите командлет в фоновом режиме и верните задание для отслеживания хода выполнения.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AvailabilitySetName

Указывает имя группы доступности.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CapacityReservationGroupId

Идентификатор группы резервирования емкости, используемой для выделения.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Учетные данные администратора для виртуальной машины.

Username
Ограничение:
Windows: не удается содержать специальные символы /"[]:|<>+=;,?*@& или конец "."
Linux: имя пользователя должно содержать только буквы, цифры, дефисы и знаки подчеркивания, а также не начинаться с дефиса или номера.
Запрещенные значения: "admin", "admin", "user1", "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 символ
Максимальная длина: 20 символов для Windows, 64 символов для Linux

Пароль
Должно содержать 3 из следующих: 1 строчные буквы, 1 верхний регистр, 1 номер и 1 специальный символ.
Значение должно составлять от 12 до 123 символов.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DataDiskDeleteOption

Указывает параметр удаления диска данных после удаления виртуальной машины. Параметры отсоединения, удаления

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DataDiskSizeInGb

Указывает размеры дисков данных в ГБ.

Тип:Int32[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisableBginfoExtension

Указывает, что этот командлет не устанавливает расширение BG Info на виртуальной машине.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DiskControllerType

Указывает тип контроллера диска, настроенный для виртуальной машины и VirtualMachineScaleSet. Это свойство поддерживается только для виртуальных машин, диски операционной системы и SKU виртуальной машины которого поддерживают поколение 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), проверьте возможность HyperVGenerations, возвращенную в рамках возможностей SKU виртуальной машины в ответ api SKU Microsoft.Compute для региона содержит версию 2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list).
Дополнительные сведения о поддерживаемых типах контроллеров дисков см. в статье https://aka.ms/azure-diskcontrollertypes.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DiskFile

Локальный путь к файлу виртуального жесткого диска для отправки в облако и для создания виртуальной машины, и он должен иметь "VHD" в качестве суффикса.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DomainNameLabel

Метка поддомена для полного доменного имени виртуальной машины. Это займет форму {domainNameLabel}.{location}.cloudapp.azure.com.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-EdgeZone

Задает имя граничной зоны. Если задано, запрос будет перенаправлен в указанную зону edge, а не в основной регион.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-EnableSecureBoot

Указывает, следует ли включить безопасную загрузку на виртуальной машине.

Тип:Nullable<T>[Boolean]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-EnableUltraSSD

Используйте диски 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 может использоваться пользователем в запросе, чтобы включить или отключить шифрование узла для виртуальной машины или масштабируемого набора виртуальных машин. Это позволит включить шифрование для всех дисков, включая диск Resource/Temp на самом узле. Значение по умолчанию: шифрование на узле будет отключено, если для ресурса не задано значение true.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-EvictionPolicy

Политика вытеснения для виртуальной машины Azure Spot. Поддерживаемые значения: "Deallocate" и "Delete".

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-GenerateSshKey

Создайте пару открытого и закрытого ключа SSH и создайте ресурс открытого ключа SSH в Azure.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HibernationEnabled

Флаг, который включает или отключает возможность гибернации на виртуальной машине.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-HostGroupId

Указывает выделенную группу узлов, в которой будет находиться виртуальная машина.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-HostId

Идентификатор узла

Тип: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

Понятное имя образа, на котором будет создана виртуальная машина. Доступны псевдонимы: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.

Тип:String
Aliases:ImageName
Position:Named
Default value:Win2016Datacenter
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ImageReferenceId

Укажите уникальный идентификатор образа общей коллекции для развертывания виртуальной машины. Это можно получить из вызова 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, если указан; или 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

Имя ресурса виртуальной машины.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NetworkInterfaceDeleteOption

Указывает, какое действие выполняется в ресурсе NetworkInterface при удалении виртуальной машины. Параметры: отсоединение, удаление.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OpenPorts

Список портов для открытия группы безопасности сети (NSG) для созданной виртуальной машины. Значение по умолчанию зависит от типа выбранного образа (например, Windows: 3389, 5985 и Linux: 22).

Тип:Int32[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OSDiskDeleteOption

Указывает параметр удаления диска ОС после удаления виртуальной машины. Параметры отсоединения, удаления

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PlatformFaultDomain

Указывает домен сбоя виртуальной машины.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Priority

Приоритет виртуальной машины. Поддерживаются только значения "Regular", "Spot" и "Low". "Обычный" предназначен для обычной виртуальной машины. "Spot" предназначен для точечных виртуальных машин. "Низкий" также предназначен для точечных виртуальных машин, но заменяется на "Spot". Используйте "Spot" вместо "Low".

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProximityPlacementGroupId

Идентификатор ресурса группы размещения близкого взаимодействия для использования с этой виртуальной машиной.

Тип:String
Aliases:ProximityPlacementGroup
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PublicIpAddressName

Имя нового общедоступного IP-адреса (или существующего) для используемой виртуальной машины. Если имя не указано, будет создано имя.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PublicIpSku

Указывает имя SKU общедоступного IP-адреса

Допустимые значения: "Базовый" и "Стандартный"

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ResourceGroupName

Указывает имя группы ресурсов.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SecurityGroupName

Имя новой (или существующей) группы безопасности сети (NSG) для используемой виртуальной машины. Если имя не указано, будет создано имя.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SecurityType

Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение. По умолчанию UefiSettings не будет включен, если это свойство не задано.

Тип:String
Допустимые значения:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SharedGalleryImageId

Укажите уникальный идентификатор образа общей коллекции для развертывания виртуальной машины. Это можно получить из вызова 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

-SubnetAddressPrefix

Префикс адреса для подсети, которая будет создана для виртуальной машины.

Тип:String
Position:Named
Default value:192.168.1.0/24
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SubnetName

Имя новой (или существующей) подсети для используемой виртуальной машины. Если имя не указано, будет создано имя.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SystemAssignedIdentity

Если параметр присутствует, виртуальная машина назначается управляемому удостоверению системы, которое создается автоматически.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Tag

Указывает, что ресурсы и группы ресурсов могут быть помечены набором пар "имя-значение". Добавление тегов в ресурсы позволяет группировать ресурсы между группами ресурсов и создавать собственные представления. Каждая группа ресурсов может иметь не более 15 тегов.

Тип:Hashtable
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-UserAssignedIdentity

Имя управляемого удостоверения службы, которое должно быть назначено виртуальной машине.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UserData

UserData для виртуальной машины, которая будет закодирована в кодировке base-64. Клиент не должен передавать здесь какие-либо секреты.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-vCPUCountAvailable

Указывает количество виртуальных ЦП, доступных для виртуальной машины. Если это свойство не указано в тексте запроса, поведение по умолчанию — задать для него значение виртуальных ЦП, доступных для этого размера виртуальной машины, предоставляемого в ответе API списка всех доступных размеров виртуальных машин в регионе.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-vCPUCountPerCore

Указывает отношение виртуальных ЦП к физическому ядру. Если это свойство не указано в тексте запроса, поведение по умолчанию присваивается значению vCPUsPerCore для размера виртуальной машины, предоставленного в ответе API списка всех доступных размеров виртуальных машин в регионе. При установке этого свойства значение 1 также означает, что гиперпоток отключен.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-VirtualNetworkName

Имя новой виртуальной сети (или существующей) для используемой виртуальной машины. Если имя не указано, будет создано имя.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-VM

Указывает локальную виртуальную машину для создания. Чтобы получить объект виртуальной машины, используйте командлет New-AzVMConfig. Другие командлеты можно использовать для настройки виртуальной машины, например Set-AzVMOperatingSystem, Set-AzVMSourceImage и Add-AzVMNetworkInterface.

Тип:PSVirtualMachine
Aliases:VMProfile
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-VmssId

Идентификатор масштабируемого набора виртуальных машин, с которым будет связана эта виртуальная машина.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases: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