你当前正在访问 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 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。
语法
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 服务,或者在指定 Location 或 AffinityGroup 的情况下在当前订阅中创建虚拟机和服务。
示例
示例 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 |
接受管道输入: | True |
接受通配符: | False |
-DeploymentLabel
指定部署的标签。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DeploymentName
指定部署名称。 如果未指定,此 cmdlet 将使用服务名称作为部署名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DnsSettings
指定一个 DNS 服务器对象,该对象定义新部署的 DNS 设置。
类型: | DnsServer[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-InformationAction
指定此 cmdlet 如何响应信息事件。
此参数的可接受值为:
- 继续
- 忽略
- 询问
- SilentlyContinue
- 停止
- Suspend
类型: | ActionPreference |
别名: | infa |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InformationVariable
指定信息变量。
类型: | String |
别名: | iv |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InternalLoadBalancerConfig
指定内部负载均衡器。 未使用此参数。
类型: | InternalLoadBalancerConfig |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Location
指定承载新服务的位置。 如果服务已存在,请不要指定此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Profile
指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。
类型: | AzureSMProfile |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ReservedIPName
指定保留 IP 地址的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ReverseDnsFqdn
指定反向 DNS 的完全限定域名。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ServiceDescription
指定新服务的说明。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ServiceLabel
指定新服务的标签。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ServiceName
指定新的或现有的服务名称。
如果服务不存在,则此 cmdlet 会为你创建它。 使用 Location 或 AffinityGroup 参数指定创建服务的位置。
如果服务存在, 则不需要 Location 或 AffinityGroup 参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-VMs
指定要创建的虚拟机对象的列表。
类型: | PersistentVM[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-VNetName
指定此 cmdlet 在其中部署虚拟机的虚拟网络名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WaitForBoot
指定此 cmdlet 等待虚拟机达到 ReadyRole 状态。 如果虚拟机在等待时处于以下状态之一,则此 cmdlet 将失败:FailedStartingVM、ProvisioningFailed、ProvisioningTimeout。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |