你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Add-AzureProvisioningConfig
为 Azure 虚拟机添加预配配置。
注意
本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧式 Azure 资源。 创建新资源时,建议不要使用旧的 PowerShell 模块,因为计划将停用 ASM。 有关详细信息,请参阅 Azure Service Manager 停用。
Az PowerShell 模块是建议用于管理 PowerShell 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。
语法
Add-AzureProvisioningConfig
-VM <IPersistentVM>
[-DisableGuestAgent]
[-CustomDataFile <String>]
[-Windows]
[-AdminUsername <String>]
[-Password <String>]
[-ResetPasswordOnFirstLogon]
[-DisableAutomaticUpdates]
[-NoRDPEndpoint]
[-TimeZone <String>]
[-Certificates <CertificateSettingList>]
[-EnableWinRMHttp]
[-DisableWinRMHttps]
[-WinRMCertificate <X509Certificate2>]
[-X509Certificates <X509Certificate2[]>]
[-NoExportPrivateKey]
[-NoWinRMEndpoint]
[-Profile <AzureSMProfile>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
Add-AzureProvisioningConfig
-VM <IPersistentVM>
[-DisableGuestAgent]
[-Linux]
[-LinuxUser <String>]
[-DisableSSH]
[-NoSSHEndpoint]
[-NoSSHPassword]
[-SSHPublicKeys <SSHPublicKeyList>]
[-SSHKeyPairs <SSHKeyPairList>]
[-CustomDataFile <String>]
[-Password <String>]
[-Profile <AzureSMProfile>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
Add-AzureProvisioningConfig
-VM <IPersistentVM>
[-DisableGuestAgent]
[-CustomDataFile <String>]
-AdminUsername <String>
[-WindowsDomain]
[-Password <String>]
[-ResetPasswordOnFirstLogon]
[-DisableAutomaticUpdates]
[-NoRDPEndpoint]
[-TimeZone <String>]
[-Certificates <CertificateSettingList>]
-JoinDomain <String>
-Domain <String>
-DomainUserName <String>
-DomainPassword <String>
[-MachineObjectOU <String>]
[-EnableWinRMHttp]
[-DisableWinRMHttps]
[-WinRMCertificate <X509Certificate2>]
[-X509Certificates <X509Certificate2[]>]
[-NoExportPrivateKey]
[-NoWinRMEndpoint]
[-Profile <AzureSMProfile>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
说明
Add-AzureProvisioningConfig cmdlet 将预配配置信息添加到 Azure 虚拟机配置。 可以使用配置对象创建虚拟机。
此 cmdlet 支持不同的预配配置,包括独立 Windows 服务器、已加入 Active Directory 域的 Windows 服务器和基于 Linux 的服务器。
若要创建已加入 Active Directory 域的服务器,请指定 Active Directory 域的完全限定域名,以及有权将虚拟机加入域的用户的域凭据。
示例
示例 1:创建独立虚拟机
PS C:\> New-AzureVMConfig -Name "NonDomainVM" -InstanceSize Small -ImageName "Image07" | Add-AzureProvisioningConfig -Windows -Password "password" -AdminUsername "AdminMain" | New-AzureVM -ServiceName "ContosoService"
此命令使用 New-AzureVMConfig cmdlet 创建虚拟机配置对象。 该命令使用管道运算符将该对象传递给当前 cmdlet。 当前 cmdlet 为运行 Windows 操作系统的虚拟机添加了预配配置。 配置包括管理员用户名和密码。 该命令将配置传递给 New-AzureVM cmdlet,该 cmdlet 将创建虚拟机。
示例 2:创建已加入域的虚拟机
PS C:\> New-AzureVMConfig -Name "DomainVM" -InstanceSize Small -ImageName "Image09" | Add-AzureProvisioningConfig -WindowsDomain -Password "password" -AdminUsername "AdminMain" -ResetPasswordOnFirstLogon -JoinDomain "contoso.com" -Domain "contoso" -DomainUserName "DomainAdminUser" -DomainPassword "DomainPassword" -MachineObjectOU 'OU=AzureVMs,DC=contoso,DC=com' | New-AzureVM -ServiceName "ContosoService"
此命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 为要加入 contoso 域的虚拟机添加预配配置。 该命令包括将虚拟机加入域所需的用户名和密码。 配置要求用户在首次登录时更改用户密码。 该命令基于预配对象创建虚拟机。
示例 3:创建基于 Linux 的虚拟机
PS C:\> New-AzureVMConfig -Name "LinuxVM" -InstanceSize Small -ImageName "LinuxImage03" | Add-AzureProvisioningConfig -Linux -LinuxUser "LinuxRoot" -Password "password" | New-AzureVM -ServiceName "ContosoService"
此命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 为运行 Linux 操作系统的虚拟机添加预配配置。 配置包括根用户名和密码。 该命令基于预配对象创建虚拟机。
示例 4:创建包含 WinRM 证书的虚拟机
PS C:\> $certs = Get-ChildItem Cert:\CurrentUser\My
New-AzureVMConfig -Name "NonDomainVM" -InstanceSize Small -ImageName "Image11" | Add-AzureProvisioningConfig -Windows -Password "password" -AdminUsername "AdminMain" -WinRMCertificate $certs[0] -X509Certificates $certs[1], $certs[2] | New-AzureVM -ServiceName "ContosoService" -WaitForBoot
第一个命令从证书存储中获取证书,然后将其存储在$certs数组变量中。
第二个命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 添加了包含 WinRM 证书的预配配置。 该命令基于预配对象创建虚拟机。
示例 5:创建通过 HTTP 启用 WinRM 的虚拟机
PS C:\> New-AzureVMConfig -Name "NonDomainVM" -InstanceSize Small -ImageName "Image14" | Add-AzureProvisioningConfig -Windows -Password "password" -AdminUsername "AdminMain" -EnableWinRMHttp | New-AzureVM -ServiceName "ContosoService" -WaitForBoot
此命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 添加了通过 HTTP 启用 WinRM 的预配配置。 该命令基于预配对象创建虚拟机。
示例 6:创建通过 HTTPS 禁用 WinRM 的虚拟机
PS C:\> New-AzureVMConfig -Name "NonDomainVM" -InstanceSize Small -ImageName "Image07" | Add-AzureProvisioningConfig -Windows -Password "password" -AdminUsername "AdminMain" -DisableWinRMHttps | New-AzureVM -ServiceName "ContosoService" -WaitForBoot
此命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 添加了禁用 WinRM over HTTPS 的预配配置。 该命令基于预配对象创建虚拟机。
示例 7:创建不导出密钥的虚拟机
PS C:\> $certs = Get-ChildItem Cert:\CurrentUser\My
New-AzureVMConfig -Name "NonDomainVM" -InstanceSize Small -ImageName "Image07" | Add-AzureProvisioningConfig -Windows -Password "password" -AdminUsername "AdminMain" -X509Certificates $certs[0], $certs[1] -NoExportPrivateKey | New-AzureVM -ServiceName "ContosoService" -WaitForBoot
第一个命令从证书存储中获取证书,然后将其存储在$certs数组变量中。
第二个命令创建虚拟机配置对象,然后将其传递给当前 cmdlet。 当前 cmdlet 为包含证书且不导出私钥的虚拟机添加预配配置。 该命令基于预配对象创建虚拟机。
参数
-AdminUsername
指定此配置在虚拟机上创建的管理员帐户的用户名。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Certificates
指定此配置安装在虚拟机上的一组证书。
类型: | CertificateSettingList |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-CustomDataFile
指定虚拟机的数据文件。 此 cmdlet 将文件的内容编码为 Base64。 该文件的长度必须小于 64 KB。
如果来宾操作系统是 Windows 操作系统,则此配置将此数据保存为名为 %SYSTEMDRIVE%\AzureData\CustomData.bin的二进制文件。
如果来宾操作系统为 Linux,则此配置将使用 ovf-env.xml 文件传递数据。 配置将该文件复制到 /var/lib/waagent 目录。 代理还会将 Base64 编码的数据存储在 /var/lib/waagent/CustomData 中。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableAutomaticUpdates
指示此配置禁用自动更新。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableGuestAgent
指示此配置禁用基础结构即服务(IaaS)来宾代理。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableSSH
指示此配置禁用 SSH。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableWinRMHttps
指示此配置在 HTTPS 上禁用 Windows 远程管理(WinRM)。 默认情况下,WinRM 通过 HTTPS 启用。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Domain
指定有权将计算机添加到域的帐户的域的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DomainPassword
指定有权将计算机添加到域的用户帐户的密码。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DomainUserName
指定有权将计算机添加到域的用户帐户的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-EnableWinRMHttp
指示此配置通过 HTTP 启用 WinRM。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InformationAction
指定此 cmdlet 如何响应信息事件。
此参数的可接受值为:
- Continue
- 忽略
- 询问
- SilentlyContinue
- 停止
- Suspend
类型: | ActionPreference |
别名: | infa |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InformationVariable
指定信息变量。
类型: | String |
别名: | iv |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-JoinDomain
指定要加入的域的完全限定域名(FQDN)。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Linux
指示此配置创建 Linux 配置。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-LinuxUser
指定此配置在虚拟机上创建的 Linux 管理帐户的用户名。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MachineObjectOU
指定配置在其中创建计算机帐户的组织单位(OU)的完全限定名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-NoExportPrivateKey
指示此配置不会上传私钥。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-NoRDPEndpoint
指示此配置在不使用远程桌面终结点的情况下创建虚拟机。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-NoSSHEndpoint
指示此配置创建没有 SSH 终结点的虚拟机。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-NoSSHPassword
指示此配置创建没有 SSH 密码的虚拟机。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-NoWinRMEndpoint
指示此配置不会为虚拟机添加 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 |
-ResetPasswordOnFirstLogon
指示虚拟机要求用户在首次登录时更改密码。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SSHKeyPairs
指定 SSH 密钥对。
类型: | SSHKeyPairList |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SSHPublicKeys
指定 SSH 公钥。
类型: | SSHPublicKeyList |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TimeZone
指定虚拟机的时区,例如太平洋标准时间或加拿大中部标准时间。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-VM
指定虚拟机对象。
类型: | IPersistentVM |
别名: | InputObject |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Windows
指示此配置创建运行 Windows 操作系统的独立虚拟机。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WindowsDomain
指示此配置创建已加入 Active Directory 域的 Windows 服务器。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WinRMCertificate
指定此配置关联到 WinRM 终结点的证书。
类型: | X509Certificate2 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-X509Certificates
指定部署到托管服务的 X509 证书数组。
类型: | X509Certificate2[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |