Update-AzureKeyVaultSecret
更新金鑰保存庫中秘密的屬性。
警告
自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。
雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源 。
語法
Update-AzureKeyVaultSecret
[-VaultName] <String>
[-Name] <String>
[[-Version] <String>]
[-Enable <Boolean>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-ContentType <String>]
[-Tag <Hashtable>]
[-PassThru]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzureKeyVaultSecret
[-InputObject] <PSKeyVaultSecretIdentityItem>
[[-Version] <String>]
[-Enable <Boolean>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-ContentType <String>]
[-Tag <Hashtable>]
[-PassThru]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
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 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ContentType
秘密的內容類型。 如果未指定,秘密內容類型的現有值會保持不變。 藉由指定空字串來移除現有的內容類型值。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Enable
如果存在,如果值為 true,請啟用秘密。 如果值為 false,請停用秘密。 如果未指定,則秘密已啟用/停用狀態的現有值會保持不變。
類型: | Nullable<T>[Boolean] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Expires
UTC 時間秘密的到期時間。 如果未指定,秘密到期時間的現有值會保持不變。
類型: | Nullable<T>[DateTime] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
Secret 物件
類型: | PSKeyVaultSecretIdentityItem |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
秘密名稱。 Cmdlet 會從保存庫名稱建構秘密的 FQDN,目前選取的環境和秘密名稱。
類型: | String |
別名: | SecretName |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-NotBefore
無法使用秘密的 UTC 時間。 如果未指定,則秘密 NotBefore 屬性的現有值會保持不變。
類型: | Nullable<T>[DateTime] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PassThru
Cmdlet 預設不會傳回 物件。 如果指定此參數,則傳回 Secret 物件。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Tag
代表秘密標記的哈希表。 如果未指定,則秘密的現有標記會保持不變。 藉由指定空的Hashtable來移除標記。
類型: | Hashtable |
別名: | Tags |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VaultName
保存庫名稱。 Cmdlet 會根據名稱和目前選取的環境來建構保存庫的 FQDN。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Version
秘密版本。 Cmdlet 會從保存庫名稱、目前選取的環境、秘密名稱和秘密版本建構秘密的 FQDN。
類型: | String |
別名: | SecretVersion |
Position: | 2 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
參數:InputObject (ByValue)