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

New-AzureQuickVM

配置和创建 Azure 虚拟机。

注意

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

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

语法

New-AzureQuickVM
   [-Windows]
   -ServiceName <String>
   [-Name <String>]
   -ImageName <String>
   [-Password <String>]
   [-ReverseDnsFqdn <String>]
   [-Location <String>]
   [-AffinityGroup <String>]
   [-AdminUsername <String>]
   [-Certificates <CertificateSettingList>]
   [-WaitForBoot]
   [-DisableWinRMHttps]
   [-EnableWinRMHttp]
   [-WinRMCertificate <X509Certificate2>]
   [-X509Certificates <X509Certificate2[]>]
   [-NoExportPrivateKey]
   [-NoWinRMEndpoint]
   [-VNetName <String>]
   [-SubnetNames <String[]>]
   [-DnsSettings <DnsServer[]>]
   [-HostCaching <String>]
   [-AvailabilitySetName <String>]
   [-InstanceSize <String>]
   [-MediaLocation <String>]
   [-DisableGuestAgent]
   [-CustomDataFile <String>]
   [-ReservedIPName <String>]
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureQuickVM
   [-Linux]
   -ServiceName <String>
   [-Name <String>]
   -ImageName <String>
   [-Password <String>]
   [-ReverseDnsFqdn <String>]
   [-Location <String>]
   [-AffinityGroup <String>]
   [-LinuxUser <String>]
   [-WaitForBoot]
   [-SSHPublicKeys <SSHPublicKeyList>]
   [-SSHKeyPairs <SSHKeyPairList>]
   [-VNetName <String>]
   [-SubnetNames <String[]>]
   [-DnsSettings <DnsServer[]>]
   [-HostCaching <String>]
   [-AvailabilitySetName <String>]
   [-InstanceSize <String>]
   [-MediaLocation <String>]
   [-DisableGuestAgent]
   [-CustomDataFile <String>]
   [-ReservedIPName <String>]
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

说明

New-AzureQuickVM cmdlet 配置并创建 Azure 虚拟机。 此 cmdlet 可以将虚拟机部署到现有的 Azure 服务中。 此 cmdlet 还可以创建托管新虚拟机的 Azure 服务。

示例

示例 1:创建虚拟机

PS C:\> New-AzureQuickVM -Windows -ServiceName "ContosoService17" -Name "VirutalMachine01" -ImageName "Image07" -Password "password" -AdminUsername "AdminMain" -WaitForBoot

此命令创建在现有服务中运行 Windows 操作系统的虚拟机。 该 cmdlet 基于指定的映像上的虚拟机。 该命令指定 WaitForBoot 参数。 因此,cmdlet 等待虚拟机启动。

示例 2:使用证书创建虚拟机

PS C:\> $certs = Get-ChildItem Cert:\CurrentUser\My
PS C:\> New-AzureQuickVM -Windows -ServiceName "MySvc1" -name "MyWinVM1" -ImageName "Image07" -Password "password" -AdminUserName "AdminMain" -WinRMCertificate $certs[0] -X509Certificates $certs[1], $certs[2] -WaitForBoot

第一个命令从存储区获取证书,并将其存储在$certs变量中。

第二个命令创建从映像在现有服务中运行 Windows 操作系统的虚拟机。 默认情况下,WinRM Https 侦听器在虚拟机上启用。 该命令指定 WaitForBoot 参数。 因此,cmdlet 等待虚拟机启动。 该命令将 WinRM 证书和 X509Certificates 上传到托管服务。

示例 3:创建运行 Linux 操作系统的虚拟机

PS C:\> New-AzureQuickVM -Linux -ServiceName "ContosoServiceLinux01" -Name "LinuxVirtualMachine01" -ImageName "LinuxImage01" -LinuxUser "RootMain" -Password "password" -Location "Central US"

此命令创建从映像运行 Linux 操作系统的虚拟机。 此命令创建用于托管新虚拟机的服务。 该命令指定服务的位置。

示例 4:创建虚拟机并创建用于托管新虚拟机的服务

PS C:\> $Locations = Get-AzureLocation
PS C:\> $Images = Get-AzureVMImage
PS C:\> New-AzureQuickVM -Windows -InstanceSize "Large" -ServiceName "ContosoService03" -Name " VirtualMachine25" -ImageName $images[4].imagename -Password "password" -AdminUsername "AdminMain" -Location $Locations[0].name

第一个命令使用 Get-AzureLocation cmdlet 获取位置,然后将其存储在$Locations数组变量中。

第二个命令使用 Get-AzureVMImage cmdlet 获取可用映像,然后将其存储在$Images数组变量中。

最后一个命令创建名为 VirtualMachine25 的大型虚拟机。 虚拟机运行 Windows 操作系统。 它基于$Images中的其中一个图像。 该命令为新虚拟机创建名为 ContosoService03 的服务。 该服务位于$Locations的位置。

示例 5:创建具有保留 IP 名称的虚拟机

PS C:\> $Locations = Get-AzureLocation
PS C:\> $Images = Get-AzureVMImage
PS C:\> New-AzureQuickVM -Windows -InstanceSize "Large" -ServiceName "ContosoService04" -Name "VirtualMachine27" -ImageName $Images[4].imagename -Password "password" -AdminUsername "AdminMain" -Location $Locations[0].name -ReservedIPName $ipName

第一个命令获取位置,然后将其存储在$Locations数组变量中。

第二个命令获取可用的图像,然后将其存储在$Images数组变量中。

最后一个命令基于$Images中的映像之一创建名为 VirtualMachine27 的虚拟机。 该命令在$Locations的某个位置创建服务。 虚拟机具有保留的 IP 名称,以前存储在$ipName变量中。

参数

-AdminUsername

指定此 cmdlet 在虚拟机上创建的管理员帐户的用户名。

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

-AffinityGroup

指定虚拟机的地缘组。 仅当此 cmdlet 为虚拟机创建 Azure 服务时,才指定此参数或 Location 参数。

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

-AvailabilitySetName

指定此 cmdlet 在其中创建虚拟机的可用性集的名称。

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

-Certificates

指定此 cmdlet 用于创建服务的证书列表。

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

-CustomDataFile

指定虚拟机的数据文件。 此 cmdlet 将文件的内容编码为 Base64。 该文件的长度必须小于 64 KB。

如果来宾操作系统是 Windows 操作系统,则此 cmdlet 将此数据保存为名为 %SYSTEMDRIVE%\AzureData\CustomData.bin的二进制文件。

如果来宾操作系统为 Linux,则此 cmdlet 会使用 ovf-env.xml 文件传递数据。 安装会将该文件复制到 /var/lib/waagent 目录。 代理还会将 Base64 编码的数据存储在 /var/lib/waagent/CustomData 中。

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

-DisableGuestAgent

指示此 cmdlet 禁用基础结构即服务(IaaS)预配来宾代理。

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

-DisableWinRMHttps

指示此 cmdlet 在 HTTPS 上禁用 Windows 远程管理(WinRM)。 默认情况下,WinRM 通过 HTTPS 启用。

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

-DnsSettings

指定定义新部署的 DNS 设置的 DNS 服务器对象的数组。 若要创建 DnsServer 对象,请使用 New-AzureDns cmdlet。

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

-EnableWinRMHttp

指示此 cmdlet 通过 HTTP 启用 WinRM。

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

-HostCaching

指定操作系统磁盘的主机缓存模式。 有效值为:

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

-ImageName

指定此 cmdlet 用于创建操作系统磁盘的磁盘映像的名称。

类型:String
Position:Named
默认值:None
必需:True
Accept pipeline input:False
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

-InstanceSize

指定实例的大小。 有效值为:

  • 特小型
  • 小型
  • 中型
  • 大型
  • 特大
  • A5
  • A6
  • A7
  • A8
  • A9
  • Basic_A0
  • Basic_A1
  • Basic_A2
  • Basic_A3
  • Basic_A4
  • Standard_D1
  • Standard_D2
  • Standard_D3
  • Standard_D4
  • Standard_D11
  • Standard_D12
  • Standard_D13
  • Standard_D14
类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:True
Accept wildcard characters:False

-Linux

指示此 cmdlet 创建基于 Linux 的虚拟机。

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

-LinuxUser

指定此 cmdlet 在虚拟机上创建的 Linux 管理帐户的用户名。

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

-Location

指定托管虚拟机的 Azure 数据中心。 如果指定此参数,cmdlet 将在指定位置创建 Azure 服务。 仅当此 cmdlet 为虚拟机创建 Azure 服务时,才指定此参数或 AffinityGroup 参数。

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

-MediaLocation

指定此 cmdlet 创建虚拟机磁盘的Azure 存储位置。

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

-Name

指定此 cmdlet 创建的虚拟机的名称。

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

-NoExportPrivateKey

指示此配置不会上传私钥。

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

-NoWinRMEndpoint

指示此 cmdlet 不会为虚拟机添加 WinRM 终结点。

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

-Password

指定管理帐户的密码。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:False
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

-ServiceName

指定此 cmdlet 向其添加新虚拟机或现有 Azure 服务的名称。

如果指定新服务,则此 cmdlet 会创建它。 若要创建新服务,必须指定 LocationAffinityGroup 参数。

如果指定现有服务,请不要指定 LocationAffinityGroup

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

-SSHKeyPairs

指定 SSH 密钥对。

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

-SSHPublicKeys

指定 SSH 公钥。

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

-SubnetNames

指定虚拟机子网名称的数组。

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

-VNetName

指定虚拟机的虚拟网络的名称。

类型: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

-Windows

指示此 cmdlet 创建 Windows 虚拟机。

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

-WinRMCertificate

指定此 cmdlet 关联到 WinRM 终结点的证书。

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

-X509Certificates

指定部署到托管服务的 X509 证书数组。

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