你当前正在访问 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 密钥库 CmdletSet-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

输入

PSVirtualMachine

String

输出

PSVirtualMachine