開始使用 SecretStore 模組
SecretManagement 和 SecretStore 模組可從 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 保存庫中現有秘密的名稱而有所不同,則會以您提供的新值覆寫名稱。