使用儲存的憑據

要輕鬆儲存和檢索加密憑據,請使用 PowerShell 的內建 XML 序列化(Clixml):

$credential = Get-Credential

$credential | Export-CliXml -Path 'C:\My\Path\cred.xml'

要重新匯入:

$credential = Import-CliXml -Path 'C:\My\Path\cred.xml'

需要記住的重要一點是,預設情況下,它使用 Windows 資料保護 API,用於加密密碼的金鑰特定於使用者和執行程式碼的計算機

因此,加密憑證不能由其他使用者匯入,也不能由同一使用者匯入

通過使用不同的執行使用者和不同的計算機加密同一憑據的多個版本,你可以為多個使用者提供相同的機密。

通過將使用者和計算機名稱放在檔名中,你可以以允許相同程式碼使用它們的方式儲存所有加密機密,而無需對任何內容進行硬編碼:

加密

# run as each user, and on each computer

$credential = Get-Credential

$credential | Export-CliXml -Path "C:\My\Secrets\myCred_${env:USERNAME}_${env:COMPUTERNAME}.xml"

使用儲存憑據的程式碼:

$credential = Import-CliXml -Path "C:\My\Secrets\myCred_${env:USERNAME}_${env:COMPUTERNAME}.xml"

將自動載入正在執行的使用者的檔案版本(或者它將失敗,因為該檔案不存在)。