如何使用PowerShell安全存儲憑據

有PowerShell腳本,您必須在PowerShell中對密碼進行身份驗證和存儲密碼。有時,您想獲得憑據提示,以填寫憑據並運行腳本。另一次,您想自動化任務並以加密格式安全地保存密碼。在本文中,您將學習如何使用PowerShell安全存儲憑證。

互動與非相互作用

  • 交互的方法需要用戶交互,例如提示用戶輸入用戶名和密碼。它在提供必要的信息時進一步進行。
  • 非相互作用方法在腳本執行過程中不需要用戶輸入,並且通常依賴於預先配置的設置,自動化過程或預先提供的數據。

重要的:始終安全地填寫密碼,而永遠不要用純文本填寫密碼。

將憑據存儲在PowerShell中以進行用戶交互(Interactive)

如果您希望腳本提示使用用戶名和密碼,請按照以下方法之一中的一種步驟操作。

方法1。 get-credential

  1. 運行出色的CMDLET將您的憑據安全存儲在$信譽多變的
$Creds = Get-Credential
  1. Windows Powershell憑據請求出現在您必須填寫的地方證書
  1. 運行$信譽Powershell變量
$Creds
  1. 輸出顯示使用者名稱密碼顯示為安全的字符串
UserName                       Password
--------                       --------
myusername System.Security.SecureString

方法2。 pscredential

  1. 在下面運行命令以將您的憑據安全地存儲在$信譽多變的
$Creds = [System.Management.Automation.PSCredential]::new((Read-Host -Prompt "Enter username"), (Read-Host -Prompt "Enter password" -AsSecureString))
  1. 輸入使用者名稱密碼
Enter username: myusername
Enter password: ****************
  1. 運行$信譽Powershell變量
$Creds
  1. 輸出顯示使用者名稱密碼顯示為安全的字符串
UserName                       Password
--------                       --------
myusername System.Security.SecureString

當您具有交互性運行的腳本時,這非常好,並且您每次都可以輸入憑據。但是,如果您不在計算機後面,並且想通過計劃的任務自動化腳本?然後,您必須使用其他方法。

要將憑據存儲在系統上,以便每次運行PowerShell腳本時加載,您需要按照以下步驟操作:

  1. 運行出色的CMDLET將您的憑據安全存儲在$信譽多變的
$Creds = Get-Credential
  1. 輸入您的憑據
  2. 將憑據導出到加密的XML文件
$Creds | Export-CliXml -Path "C:credscredential.xml"

筆記:導出clixmlCMDLET通過使用Windows Data Protection API來加密憑據對象。加密可確保只有您的用戶帳戶才能解密憑據對象的內容。導出的clixml文件不能在另一台計算機或其他用戶上使用。

  1. 導航到路徑並驗證XML文件
  1. 打開XML文件並檢查密碼是否已加密
  1. 在您的PowerShell腳本中,您現在可以運行import-clixmlcmdlet並將其指向存在XML文件的路徑,以便加載用戶名和加密密碼
$Creds = Import-CliXml -Path "C:credscredential.xml"

就是這樣!

結論

您學會瞭如何使用PowerShell安全存儲憑證。在PowerShell中保存憑據有不同的方法。檢查它是交互式還是非相互作用腳本,並應用正確的方法。始終確保密碼被安全地填充,而不會在清晰的文本中填充。

更多閱讀:

您喜歡這篇文章嗎?您可能還喜歡如何連接到Microsoft Graph PowerShell。不要忘記關注我們並分享這篇文章。