你当前正在访问 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 服务,或者在指定 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 |