共用方式為


開始使用 SecretStore 模組

SecretManagementSecretStore 模組可從 PowerShell 資源庫 取得,而且可以使用 PowerShellGet 命令進行安裝。

# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore

# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore

安裝模組之後,您可以載入模組並開始使用或建立新的秘密。

Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore

Create 保存庫並新增秘密

首先,您必須註冊保存庫。 Name 參數是易記名稱,可以是任何有效的字串。

Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

DefaultVault 參數會將此設為預設保存庫。

現在您可以建立秘密。

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

本範例會傳遞秘密值的純文本字串。 秘密值可以是五種支援類型的其中一種:

  • byte[]
  • 字串
  • SecureString
  • PSCredential
  • Hashtable

第一次存取保存庫時,您必須提供新保存庫的密碼。 此密碼可用來鎖定和解除鎖定保存庫。

Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********

執行 Get-Secret 以擷取秘密。 使用 AsPlainText 參數會將秘密傳回為未加密的字串。

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

若要取得所有秘密的清單,您可以執行:

PS> Get-SecretInfo

Name       Type   VaultName
----       ----   ---------
TestSecret String SecretStore

備註

當您使用 Name 參數執行 Set-Secret 以指定秘密的名稱時,保存庫擴充功能所實作的 Cmdlet 呼叫。GetSecret() Set-Secret 傳遞使用者所提供的名稱。 保存庫延伸模組會依該名稱查閱秘密。 如果傳 GetGecret() 回相符專案, Set-Secret 除非您使用 NoClobber 參數,否則會覆寫秘密。 保存庫延伸模組一律會寫入其收到的秘密資訊。

保存庫延伸模組實作是決定是否要在名稱上使用區分大小寫的比較。 例如, Microsoft.PowerShell.SecretStore 擴充保存庫中的秘密名稱不區分大小寫。 如果您傳遞至 Set-Secret 的名稱只會因 SecretStore 保存庫中現有秘密的名稱而有所不同,則會以您提供的新值覆寫名稱。