你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzureVM

创建 Azure 虚拟机。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

New-AzureVM
   -ServiceName <String>
   [-DeploymentLabel <String>]
   [-DeploymentName <String>]
   [-VNetName <String>]
   [-DnsSettings <DnsServer[]>]
   [-InternalLoadBalancerConfig <InternalLoadBalancerConfig>]
   -VMs <PersistentVM[]>
   [-WaitForBoot]
   [-ReservedIPName <String>]
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureVM
   -ServiceName <String>
   [-Location <String>]
   [-AffinityGroup <String>]
   [-ServiceLabel <String>]
   [-ReverseDnsFqdn <String>]
   [-ServiceDescription <String>]
   [-DeploymentLabel <String>]
   [-DeploymentName <String>]
   [-VNetName <String>]
   [-DnsSettings <DnsServer[]>]
   [-InternalLoadBalancerConfig <InternalLoadBalancerConfig>]
   -VMs <PersistentVM[]>
   [-WaitForBoot]
   [-ReservedIPName <String>]
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

说明

New-AzureVM cmdlet 将新虚拟机添加到现有 Azure 服务,或者在指定 LocationAffinityGroup 的情况下在当前订阅中创建虚拟机和服务。

示例

示例 1:为 Windows 配置创建虚拟机

PS C:\> New-AzureVMConfig -Name "VirtualMachine07" -InstanceSize ExtraSmall -ImageName (Get-AzureVMImage)[4].ImageName | Add-AzureProvisioningConfig -Windows -Password $adminPassword -AdminUsername PsTestAdmin | New-AzureVM -ServiceName "ContosoService" -AffinityGroup "Contoso" -WaitForBoot

此命令基于 Windows 操作系统的虚拟机配置创建预配配置,并使用它在指定的地缘组中创建虚拟机。

示例 2:为 Linux 配置创建虚拟机

PS C:\> New-AzureVMConfig -Name "SUSEVM02" -InstanceSize ExtraSmall -ImageName (Get-AzureVMImage)[7].ImageName | Add-AzureProvisioningConfig -Linux -LinuxUser "RootMain" -Password "password" -AdminUsername PsTestAdmin | New-AzureVM

此命令基于适用于 Linux 的虚拟机配置创建预配配置,并使用它在指定的地缘组中创建虚拟机。

示例 3:创建虚拟机并添加数据磁盘

PS C:\> $Images = Get-AzureVMImage
PS C:\> $Image = $Images[4]
PS C:\> $VirtualMachine02 = New-AzureVMConfig -Name "VirtualMachine02" -InstanceSize ExtraSmall -ImageName $myImage.ImageName | Add-AzureProvisioningConfig -Windows -Password "password" | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel "DataDisk50" -LUN 0

前两个命令使用 Get-AzureVMImage cmdlet 获取可用映像,并将其中一个命令存储在$Image变量中。

此命令基于 Windows 操作系统的虚拟机配置创建预配配置,并使用它创建具有 Azure 数据磁盘的虚拟机。

示例 4:创建具有保留 IP 地址的虚拟机

PS C:\> New-AzureVMConfig -Name "VirtualMachine06" -InstanceSize ExtraSmall -ImageName (Get-AzureVMImage)[4].ImageName | Add-AzureProvisioningConfig -Windows -Password $adminPassword -AdminUsername "AdminMain" | New-AzureVM -ServiceName "ContosoService02" -AffinityGroup "Contoso" -ReservedIPName $ipName

此命令基于 Windows 操作系统的虚拟机配置创建预配配置,并使用它创建具有保留 IP 地址的虚拟机。

参数

-AffinityGroup

指定云服务所在的 Azure 地缘组。 仅当此 cmdlet 创建云服务时,才需要此参数。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-DeploymentLabel

指定部署的标签。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-DeploymentName

指定部署名称。 如果未指定,此 cmdlet 将使用服务名称作为部署名称。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsSettings

指定一个 DNS 服务器对象,该对象定义新部署的 DNS 设置。

类型:DnsServer[]
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-InformationAction

指定此 cmdlet 如何响应信息事件。

此参数的可接受值为:

  • 继续
  • 忽略
  • 询问
  • SilentlyContinue
  • 停止
  • Suspend
类型:ActionPreference
Aliases:infa
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

指定信息变量。

类型:String
Aliases:iv
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-InternalLoadBalancerConfig

指定内部负载均衡器。 未使用此参数。

类型:InternalLoadBalancerConfig
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-Location

指定承载新服务的位置。 如果服务已存在,请不要指定此参数。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-ReservedIPName

指定保留 IP 地址的名称。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-ReverseDnsFqdn

指定反向 DNS 的完全限定域名。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceDescription

指定新服务的说明。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceLabel

指定新服务的标签。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceName

指定新的或现有的服务名称。

如果服务不存在,则此 cmdlet 会为你创建它。 使用 LocationAffinityGroup 参数指定创建服务的位置。

如果服务存在, 则不需要 LocationAffinityGroup 参数。

类型:String
Position:Named
默认值:None
必需:True
Accept pipeline input:True
Accept wildcard characters:False

-VMs

指定要创建的虚拟机对象的列表。

类型:PersistentVM[]
Position:Named
默认值:None
必需:True
Accept pipeline input:True
Accept wildcard characters:False

-VNetName

指定此 cmdlet 在其中部署虚拟机的虚拟网络名称。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-WaitForBoot

指定此 cmdlet 等待虚拟机达到 ReadyRole 状态。 如果虚拟机在等待时处于以下状态之一,则此 cmdlet 将失败:FailedStartingVM、ProvisioningFailed、ProvisioningTimeout。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False