你当前正在访问 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 会创建它。 若要创建新服务,必须指定 Location 或 AffinityGroup 参数。
如果指定现有服务,请不要指定 Location 或 AffinityGroup。
类型: | 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 |