Set-AzKeyVaultSecret
在金鑰保存庫中建立或更新秘密。
語法
Set-AzKeyVaultSecret
[-VaultName] <String>
[-Name] <String>
[-SecretValue] <SecureString>
[-Disable]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-ContentType <String>]
[-Tag <Hashtable>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-AzKeyVaultSecret
[-InputObject] <PSKeyVaultSecretIdentityItem>
[-SecretValue] <SecureString>
[-Disable]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-ContentType <String>]
[-Tag <Hashtable>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Set-AzKeyVaultSecret Cmdlet 會在 Azure 金鑰保存庫 的密鑰保存庫中建立或更新秘密。 如果秘密不存在,此 Cmdlet 會建立它。 如果秘密已經存在,此 Cmdlet 會建立該密碼的新版本。
範例
範例 1:使用預設屬性修改秘密的值
$Secret = ConvertTo-SecureString -String "****" -AsPlainText -Force
Set-AzKeyVaultSecret -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:使用自定義屬性修改秘密的值
$Secret = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Expires = (Get-Date).AddYears(2).ToUniversalTime()
$NBF =(Get-Date).ToUniversalTime()
$Tags = @{ 'Severity' = 'medium'; 'IT' = 'true'}
$ContentType = 'txt'
Set-AzKeyVaultSecret -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 的秘密值。
範例 3:在模組中的 Set-Secret 命令 Microsoft.PowerShell.SecretManagement 中建立 Azure 密鑰保存庫中的秘密
# Install module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretManagement -Repository PSGallery -AllowPrerelease
# Register vault for Secret Management
Register-SecretVault -Name AzKeyVault -ModuleName Az.KeyVault -VaultParameters @{ AZKVaultName = 'test-kv'; SubscriptionId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }
# Set secret for vault AzKeyVault
$secure = ConvertTo-SecureString -String "****" -AsPlainText -Force
Set-Secret -Name secureSecret -SecureStringSecret $secure -Vault AzKeyVault
None
此範例會在模組 Microsoft.PowerShell.SecretManagement
中透過 命令Set-Secret
,在 azure Key Vault test-kv
中設定名為 secureSecret
的秘密。
參數
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ContentType
指定秘密的內容類型。 若要刪除現有的內容類型,請指定空字串。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Disable
表示此 Cmdlet 會停用秘密。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Expires
針對此 Cmdlet 所更新的秘密,指定到期時間做為 DateTime 物件。
此參數使用國際標準時間 (UTC)。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。 如需詳細資訊,請輸入 Get-Help Get-Date
。
類型: | 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
將時間指定為 DateTime 物件,該物件之前無法使用秘密。 此參數使用UTC。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。
類型: | Nullable<T>[DateTime] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecretValue
將秘密的值指定為 SecureString 物件。 若要取得 SecureString 物件,請使用 ConvertTo-SecureString Cmdlet。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString
。
類型: | SecureString |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Tag
哈希表形式的索引鍵/值組。 例如:@{key0=“value0”;key1=$null;key2=“value2”}
類型: | Hashtable |
別名: | Tags |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VaultName
指定此秘密所屬的金鑰儲存庫名稱。 此 Cmdlet 會根據此參數指定的名稱和您目前的環境,建構密鑰保存庫的 FQDN。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |