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

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

[<CommonParameters>]
Update-AzureKeyVaultSecret
      [-InputObject] <PSKeyVaultSecretIdentityItem>
      [[-Version] <String>]
      [-Enable <Boolean>]
      [-Expires <DateTime>]
      [-NotBefore <DateTime>]
      [-ContentType <String>]
      [-Tag <Hashtable>]
      [-PassThru]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Update-AzureKeyVaultSecret cmdlet 更新密钥保管库中机密的可编辑属性。

示例 1:修改机密的属性

PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $Nbf = (Get-Date).ToUniversalTime()
PS C:\> $Tags = @{ 'Severity' = 'medium'; 'HR' = 'true'}
PS C:\> $ContentType= 'xml'
PS C:\> Update-AzureKeyVaultSecret -VaultName 'ContosoVault' -Name 'HR' -Expires $Expires -NotBefore $Nbf -ContentType $ContentType -Enable $True -Tag $Tags -PassThru
Vault Name   : ContosoVault
Name         : HR
Version      : d476edfcd3544017a03bc49c1f3abec0
Id           : https://ContosoVault.vault.azure.net:443/secrets/HR/d476edfcd3544017a03bc49c1f3abec0
Enabled      : True
Expires      : 5/25/2020 8:01:58 PM
Not Before   : 5/25/2018 8:02:02 PM
Created      : 4/11/2018 11:45:06 PM
Updated      : 5/25/2018 8:02:45 PM
Content Type : xml
Tags         : Name      Value
               Severity  medium
               HR        true

前四个命令定义到期日期的属性、NotBefore 日期、标记和上下文类型,并将属性存储在变量中。 最后一个命令使用存储的变量修改名为 ContosoVault 的密钥保管库中名为 HR 的机密的属性。

示例 2:删除机密的标记和内容类型

PS C:\> Update-AzureKeyVaultSecret -VaultName 'ContosoVault' -Name 'HR' -Version '9EEA45C6EE50490B9C3176A80AC1A0DF' -ContentType '' -Tag -@{}

此命令删除名为 Contoso 的密钥保管库中名为 HR 的指定版本的标记和内容类型。

示例 3:禁用名称以 IT 开头的当前机密版本

PS C:\> $Vault = 'ContosoVault'
PS C:\> $Prefix = 'IT'
PS C:\> Get-AzureKeyVaultSecret $Vault | Where-Object {$_.Name -like $Prefix + '*'} | Update-AzureKeyVaultSecret -Enable $False

第一个命令将字符串值 Contoso 存储在$Vault变量中。 第二个命令将字符串值 IT 存储在$Prefix变量中。 第三个命令使用 Get-AzureKeyVaultSecret cmdlet 获取指定密钥保管库中的机密,然后将这些机密传递给 Where-Object cmdlet。 Where-Object cmdlet 筛选以 IT 字符开头的名称的机密。 该命令通过管道将筛选器与筛选器匹配的机密传递给禁用Update-AzureKeyVaultSecret cmdlet。

示例 4:为机密的所有版本设置 ContentType

PS C:\> $VaultName = 'ContosoVault'
PS C:\> $Name = 'HR'
PS C:\> $ContentType = 'xml'
PS C:\> Get-AzureKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersions | Update-AzureKeyVaultSecret -ContentType $ContentType

前三个命令定义用于 VaultName Name ContentType 参数的字符串变量。 第四个命令使用 Get-AzureKeyVaultKey cmdlet 来获取指定的键,并将密钥传递给 Update-AzureKeyVaultSecret cmdlet 以将其内容类型设置为 XML。

-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

-Enable

如果存在,则启用机密(如果值为 true)。 如果值为 false,则禁用机密。 如果未指定,则机密已启用/禁用状态的现有值保持不变。

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

-Expires

机密的过期时间(UTC 时间)。 如果未指定,机密过期时间的现有值保持不变。

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

-InputObject

Secret 对象

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

无法使用机密的 UTC 时间。 如果未指定,机密的 NotBefore 属性的现有值保持不变。

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

-PassThru

默认情况下,Cmdlet 不返回对象。 如果指定了此开关,则返回 Secret 对象。

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

表示机密标记的哈希表。 如果未指定,机密的现有标记保持不变。 通过指定空哈希表删除标记。

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

-Version

机密版本。 Cmdlet 从保管库名称(当前选定的环境、机密名称和机密版本)构造机密的 FQDN。

Type: String Aliases:SecretVersion Position:2 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