WindowsのCredentialManagerをVaultとして使う

windowsのCredentialManagerを、powershellからvaultとして使うメモ。 cmdからだと、生パスワードの取得ができないので、powershell限定。

# Install from PSGallery
Install-Module CredentialManager

# Add/Edit
New-StoredCredential -Target $keyName -UserName $userName -Password $password -Comment $comment -Persist Enterprise

# Delete
Remove-StoredCredential -Target $keyName

# Get
$cred = Get-StoredCredential -Target $keyName
$rawPassword = $cred.GetNetworkCredential().Password

New-StoredCredentialに与える -Persist は、Sessionだとログオフや再起動で消える。 LocalMachineやEnterpriseだとずっと残る。 ドメインに参加していない場合、LocalMachineもEnterpriseも大差ないので、個人的にはEnterpriseで良いのでは感ある。

_CREDENTIALA | Microsoft Docs

Decrypt PowerShell Secure String Password – Hey, Scripting Guy! Blog