你当前正在访问 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 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。

语法

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
接受管道输入:False
接受通配符:False

-AffinityGroup

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AvailabilitySetName

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Certificates

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

类型:CertificateSettingList
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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
接受管道输入:False
接受通配符:False

-DisableGuestAgent

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisableWinRMHttps

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DnsSettings

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

类型:DnsServer[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableWinRMHttp

指示此 cmdlet 通过 HTTP 启用 WinRM。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HostCaching

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

  • ReadOnly
  • ReadWrite
类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ImageName

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

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-InformationAction

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

此参数的可接受值为:

  • 继续
  • 忽略
  • 询问
  • SilentlyContinue
  • 停止
  • Suspend
类型:ActionPreference
别名:infa
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InformationVariable

指定信息变量。

类型:String
别名:iv
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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
接受管道输入:True
接受通配符:False

-Linux

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

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-LinuxUser

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Location

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MediaLocation

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Name

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoExportPrivateKey

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoWinRMEndpoint

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Password

指定管理帐户的密码。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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

-ServiceName

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

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

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

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-SSHKeyPairs

指定 SSH 密钥对。

类型:SSHKeyPairList
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SSHPublicKeys

指定 SSH 公钥。

类型:SSHPublicKeyList
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SubnetNames

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

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VNetName

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WaitForBoot

指示此 cmdlet 等待虚拟机到达 ReadyRole 状态。 如果虚拟机达到以下状态之一,cmdlet 将失败:FailedStartingVM、ProvisioningFailed 或 ProvisioningTimeout。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Windows

指示此 cmdlet 创建 Windows 虚拟机。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-WinRMCertificate

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

类型:X509Certificate2
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-X509Certificates

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

类型:X509Certificate2[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False