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

Set-AzureKeyVaultSecret

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

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContentType

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

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

-DefaultProfile

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

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

-Disable

指示此 cmdlet 禁用机密。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Secret 对象

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

-Name

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

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

-NotBefore

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

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Required:False
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
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Tag

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

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

-VaultName

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

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

输入

PSKeyVaultSecretIdentityItem

参数:InputObject (ByValue)

输出

PSKeyVaultSecret