你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Add-AzureRmVMSecret
将机密添加到虚拟机。
警告
截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
Add-AzureRmVMSecret
[-VM] <PSVirtualMachine>
[[-SourceVaultId] <String>]
[[-CertificateStore] <String>]
[[-CertificateUrl] <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
说明
Add-AzureRmVMSecret cmdlet 将机密添加到虚拟机。 此值允许向虚拟机添加证书。 机密必须存储在密钥库中。 有关 Key Vault 的详细信息,请参阅什么是 Azure Key Vault?。 有关 cmdlet 的详细信息,请参阅 Microsoft 开发人员网络库中的 Azure 密钥库 Cmdlet 或 Set-AzureKeyVaultSecret cmdlet。
示例
示例 1:向虚拟机添加机密
PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
PS C:\> $Credential = Get-Credential
PS C:\> $VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName "Contoso26" -Credential $Credential
PS C:\> $SourceVaultId = "/subscriptions/46f8cea4-2de6-4179-8ab1-365da4211af4/resourceGroups/vault/providers/Microsoft.KeyVault/vaults/keyvault"
PS C:\> $CertificateStore01 = "My"
PS C:\> $CertificateUrl01 = "https://contosovault.vault.azure.net/secrets/514ceb769c984379a7e0230bdd703272"
PS C:\> $VirtualMachine = Add-AzureRmVMSecret -VM $VirtualMachine -SourceVaultId $SourceVaultId -CertificateStore $CertificateStore01 -CertificateUrl $CertificateUrl01
第一个命令创建虚拟机对象,然后将其存储在$VirtualMachine变量中。
该命令将名称和大小分配给虚拟机。
第二个命令使用 Get-Credential cmdlet 创建凭据对象,然后将结果存储在$Credential变量中。
该命令会提示输入用户名和密码。
要了解详情,请键入 Get-Help Get-Credential
。
第三个命令使用 Set-AzureRmVMOperatingSystem cmdlet 配置存储在$VirtualMachine中的虚拟机。
第四个命令将源保管库 ID 分配给$SourceVaultId变量供以后使用。
该命令假定$SubscriptionId变量具有适当的值。
第五个命令将值分配给 $CertificateStore 01 变量以供以后使用。
第六个命令为证书存储分配 URL。
第七个命令将机密添加到存储在$VirtualMachine中的虚拟机。
SourceVaultId 参数指定密钥库。
该命令指定证书存储的名称和证书的 URL。
可以重复运行 Add-AzureRmVMSecret ,为其他证书添加机密。
参数
-CertificateStore
指定运行 Windows 操作系统的虚拟机上的证书存储的名称。 此 cmdlet 将证书添加到此参数指定的存储中。 只能为运行 Windows 操作系统的虚拟机指定此参数。
类型: | String |
Position: | 2 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-CertificateUrl
指定指向包含证书的密钥库机密的 URL。 该证书是以下 JavaScript 对象表示法(JSON)对象的 Base64 编码,该对象在 UTF-8 中编码:{ “data”: “<Base64-encoded-file>”, “dataType”: “<file-format>”, “password”: “<pfx-file-password>” } 目前,dataType 仅接受 .pfx 文件。
类型: | String |
Position: | 3 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SourceVaultId
指定包含可添加到虚拟机的证书的密钥库的资源 ID。 此值还充当添加多个证书的密钥。 这意味着,从同一密钥库添加多个证书时,可以为 SourceVaultId 使用相同的值。
类型: | String |
别名: | Id |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-VM
指定此 cmdlet 修改的虚拟机对象。 若要获取虚拟机对象,请使用 Get-AzureRmVM cmdlet。 可以使用 New-AzureRmVMConfig cmdlet 创建虚拟机对象。
类型: | PSVirtualMachine |
别名: | VMProfile |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |