New-AzureRmVM
Создает виртуальную машину.
Предупреждение
Модуль AzureRM PowerShell официально устарел с 29 февраля 2024 г. Пользователям рекомендуется выполнить миграцию из AzureRM в модуль Az PowerShell, чтобы обеспечить постоянную поддержку и обновления.
Хотя модуль AzureRM по-прежнему может функционировать, он больше не поддерживается или не поддерживается, размещая любое постоянное использование на усмотрение и риск пользователя. Ознакомьтесь с нашими ресурсами миграции, чтобы получить рекомендации по переходу в модуль Az.
Синтаксис
New-AzureRmVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
[[-Zone] <String[]>]
-Name <String>
-Credential <PSCredential>
[-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]
[-DataDiskSizeInGb <Int32[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmVM
[-ResourceGroupName] <String>
[-Location] <String>
[-VM] <PSVirtualMachine>
[[-Zone] <String[]>]
[-DisableBginfoExtension]
[-Tag <Hashtable>]
[-LicenseType <String>]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
-Name <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]
[-DataDiskSizeInGb <Int32[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет New-AzureRmVM создает виртуальную машину в Azure.
Этот командлет принимает объект виртуальной машины в качестве входных данных.
Используйте командлет New-AzureRmVMConfig для создания объекта виртуальной машины.
Другие командлеты можно использовать для настройки виртуальной машины, например Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface и Set-AzureRmVMOSDisk.
Предоставляет SimpleParameterSet
удобный способ создания виртуальной машины, делая общие аргументы создания виртуальной машины необязательными.
Примеры
Пример 1. Создание виртуальной машины
PS C:\> New-AzureRmVM -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. Создание виртуальной машины из пользовательского образа пользователя
PS C:\> ## 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-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzureRmPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose
В этом примере выполняется предварительно подготовленный системный образ, обобщенный пользовательский образ операционной системы и присоединение к нему диска данных, подготовка новой сети, развертывание виртуального жесткого диска и его запуск. Этот скрипт можно использовать для автоматической подготовки, так как он использует встроенные учетные данные администратора виртуальной машины вместо вызова Get-Credential , требующего взаимодействия с пользователем. Этот сценарий предполагает, что вы уже вошли в учетную запись Azure. Вы можете подтвердить состояние входа с помощью командлета Get-AzureSubscription .
Пример 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-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose
В этом примере создается новая сеть и развертывается виртуальная машина Windows из Marketplace без создания общедоступного IP-адреса или группы безопасности сети. Этот скрипт можно использовать для автоматической подготовки, так как он использует встроенные учетные данные администратора виртуальной машины вместо вызова Get-Credential , требующего взаимодействия с пользователем.
Параметры
-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 |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Учетные данные администратора для виртуальной машины.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DataDiskSizeInGb
Указывает размеры дисков данных в ГБ.
Тип: | Int32[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.
Тип: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisableBginfoExtension
Указывает, что этот командлет не устанавливает расширение BG Info на виртуальной машине.
Тип: | SwitchParameter |
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 |
-Image
Понятное имя образа, на котором будет создана виртуальная машина. К ним относятся: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.
Тип: | String |
Aliases: | ImageName |
Position: | Named |
Default value: | Win2016Datacenter |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-LicenseType
Указывает тип лицензии, указывающий, что образ или диск виртуальной машины лицензирован локально. Это значение используется только для образов, содержащих операционную систему Windows Server. Допустимые значения для этого параметра:
- Windows_Client
- Windows_Server Это значение невозможно обновить. Если этот параметр указан для обновления, значение должно соответствовать начальному значению виртуальной машины.
Тип: | 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 |
-Name
Имя ресурса виртуальной машины.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OpenPorts
Список портов для открытия группы безопасности сети (NSG) для созданной виртуальной машины. Значение по умолчанию зависит от типа выбранного образа (например, Windows: 3389, 5985 и Linux: 22).
Тип: | Int32[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PublicIpAddressName
Имя нового общедоступного 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 |
-Size
Размер виртуальной машины. Значение по умолчанию: Standard_DS1_v2.
Тип: | String |
Position: | Named |
Default value: | Standard_DS1_v2 |
Обязательно: | 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 |
-VirtualNetworkName
Имя новой виртуальной сети (или существующей) для используемой виртуальной машины. Если имя не указано, будет создано имя.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VM
Указывает локальную виртуальную машину для создания. Чтобы получить объект виртуальной машины, используйте командлет New-AzureRmVMConfig. Другие командлеты можно использовать для настройки виртуальной машины, например Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage и Add-AzureRmVMNetworkInterface.
Тип: | PSVirtualMachine |
Aliases: | VMProfile |
Position: | 2 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Zone
Указывает список зон виртуальной машины.
Тип: | String[] |
Position: | 3 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
String[]