你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureKeyVaultSecret

在密钥保管库中创建或更新机密。

重要

由于 Az PowerShell 模块现在已具有 AzureRM PowerShell 模块的所有功能及更多功能,因此我们将于 2024 年 2 月 29 日停用 AzureRM PowerShell 模块。

若要避免服务中断,请更新脚本,在 2024 年 2 月 29 日结束之前将使用 AzureRM PowerShell 模块的脚本更新为使用 Az PowerShell 模块。 若要自动更新脚本,请按照快速入门指南操作。

语法

Set-AzureKeyVaultSecret
   [-VaultName] <String>
   [-Name] <String>
   [-SecretValue] <SecureString>
   [-Disable]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-ContentType <String>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureKeyVaultSecret
   [-InputObject] <PSKeyVaultSecretIdentityItem>
   [-SecretValue] <SecureString>
   [-Disable]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-ContentType <String>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureKeyVaultSecret cmdlet 在 Azure 密钥保管库的密钥保管库中创建或更新机密。 如果机密不存在,则此 cmdlet 会创建它。 如果机密已存在,此 cmdlet 将创建该机密的新版本。

示例

示例 1:使用默认属性修改机密的值

PS C:\> $Secret = ConvertTo-SecureString -String 'Password' -AsPlainText -Force
PS C:\> Set-AzureKeyVaultSecret -VaultName 'Contoso' -Name 'ITSecret' -SecretValue $Secret

Vault Name   : Contoso
Name         : ITSecret
Version      : 8b5c0cb0326e4350bd78200fac932b51
Id           : https://contoso.vault.azure.net:443/secrets/ITSecret/8b5c0cb0326e4350bd78200fac932b51
Enabled      : True
Expires      :
Not Before   :
Created      : 5/25/2018 6:39:30 PM
Updated      : 5/25/2018 6:39:30 PM
Content Type :
Tags         :

第一个命令使用 ConvertTo-SecureString cmdlet 将字符串转换为安全字符串,然后将该字符串存储在$Secret变量中。 要了解详情,请键入 Get-Help ConvertTo-SecureString。 第二个命令修改名为 Contoso 的密钥保管库中名为 ITSecret 的机密的值。 机密值将成为存储在$Secret中的值。

示例 2:使用自定义属性修改机密的值

PS C:\> $Secret = ConvertTo-SecureString -String 'Password' -AsPlainText -Force
PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $NBF =(Get-Date).ToUniversalTime()
PS C:\> $Tags = @{ 'Severity' = 'medium'; 'IT' = 'true'}
PS C:\> $ContentType = 'txt'
PS C:\> Set-AzureKeyVaultSecret -VaultName 'Contoso' -Name 'ITSecret' -SecretValue $Secret -Expires $Expires -NotBefore $NBF -ContentType $ContentType -Disable -Tags $Tags

Vault Name   : Contoso
Name         : ITSecret
Version      : a2c150be3ea24dd6b8286986e6364851
Id           : https://contoso.vault.azure.net:443/secrets/ITSecret/a2c150be3ea24dd6b8286986e6364851
Enabled      : False
Expires      : 5/25/2020 6:40:00 PM
Not Before   : 5/25/2018 6:40:05 PM
Created      : 5/25/2018 6:41:22 PM
Updated      : 5/25/2018 6:41:22 PM
Content Type : txt
Tags         : Name      Value
               Severity  medium
               IT        true

第一个命令使用 ConvertTo-SecureString cmdlet 将字符串转换为安全字符串,然后将该字符串存储在$Secret变量中。 要了解详情,请键入 Get-Help ConvertTo-SecureString。 下一个命令定义到期日期、标记和上下文类型的自定义属性,并将属性存储在变量中。 最终命令使用前面指定为变量的值修改名为 Contoso 的密钥保管库中名为 ITSecret 的机密的值。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ContentType

指定机密的内容类型。 若要删除现有内容类型,请指定空字符串。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Disable

指示此 cmdlet 禁用机密。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Expires

指定此 cmdlet 更新的机密的过期时间(作为 DateTime 对象)。 此参数使用协调世界时 (UTC) 。 若要获取 DateTime 对象,请使用 Get-Date cmdlet。 要了解详情,请键入 Get-Help Get-Date

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InputObject

机密对象

Type:PSKeyVaultSecretIdentityItem
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Name

指定要修改的机密的名称。 此 cmdlet 基于此参数指定的名称、密钥保管库名称和当前环境,构造机密的完全限定域名 (FQDN) 。

Type:String
Aliases:SecretName
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-NotBefore

将时间指定为 DateTime 对象,在该对象之前无法使用机密。 此参数使用 UTC。 若要获取 DateTime 对象,请使用 Get-Date cmdlet。

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SecretValue

将机密的值指定为 SecureString 对象。 若要获取 SecureString 对象,请使用 ConvertTo-SecureString cmdlet。 要了解详情,请键入 Get-Help ConvertTo-SecureString

Type:SecureString
Position:2
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Tag

以哈希表的形式的键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

Type:Hashtable
Aliases:Tags
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VaultName

指定此机密所属的密钥保管库的名称。 此 cmdlet 基于此参数指定的名称和当前环境构造密钥保管库的 FQDN。

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

输入

PSKeyVaultSecretIdentityItem

参数:InputObject (ByValue)

输出

PSKeyVaultSecret