Set-AzKeyVaultSecret

在金鑰保存庫中建立或更新秘密。

Syntax

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 'Password' -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 'Password' -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:在模組 Microsoft.PowerShell.SecretManagement 中,依命令 Set-Secret 在 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 "Password" -AsPlainText -Force
Set-Secret -Name secureSecret -SecureStringSecret $secure -Vault AzKeyVault

None

此範例會在模組 Microsoft.PowerShell.SecretManagement中透過 命令Set-Secret,在 azure Key Vault test-kv 中設定名為 secureSecret 的秘密。

參數

-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:AzContext, 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

輸出

PSKeyVaultSecret