Dell Command PowerShell Provider 安全密碼功能
Yhteenveto: Dell Command | PowerShell Provider (DCPP) 安全密碼功能, ConvertTo-SecureString, ConvertFrom-SecureString, Dell Command | PowerShell Provider (DCPP) Secure Password feature
Ohjeet
受影響的產品:
- Dell Command | PowerShell Provider
安全密碼背後的概念是,在生產腳本中,它們不應將重要密碼作為純視圖傳遞。此動作嚴重缺乏安全性。因此,使用 PowerShell 可以保護密碼或至少降低密碼可見性。首先,讓我們討論安全字串的一般方面,然後討論 DCPP 如何利用 PowerShell 的固有功能來保護密碼。
假設您要在主控台讀取使用者的使用者名稱和密碼。眾所周知,使用者名通常不需要任何安全性,並且所有人都可以看到。但是對於密碼,您不想讓陌生人知道用戶的密碼。可以使用以下命令來滿足此要求:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
以上概述如何為密碼等更安全的關鍵資訊添加更多安全性。在上方範例中,變數 $pass 的類型為 System.Security.SecureString。接下來,您將瞭解 PowerShell 提供的另外兩個廣泛使用的 cmdlet,以便在涉及 DCPP 的各個方面之前促進安全欄位。
這兩個命令是 ConvertTo-SecureString 和 ConvertFrom-SecureString。 ConvertTo-SecureString 會將純文字轉換為類型 System.Security.SecureString。範例如以下所示:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
在上方範例中,純文字 P@assword1 已轉換為類型 System.Security.SecureString。這更像是參考資訊,不一定會受到廣泛使用。
下一個 cmdlet ConvertFrom-SecureString 是使用更廣泛的 cmdlet,用於將安全字串轉換為加密的標準字串。主要限制 ConvertTo-SecureString 是它的輸出不能直接寫入檔以供將來使用。您必須使用 ConvertFrom-SecureString 轉換 System.Security.SecureString 轉換為加密的標準字串,可以方便地保存到檔中,以克服此限制。
您正在轉換純文字 P@ssword1 以保護字串,然後將其輸出管道傳輸到 ConvertFrom-SecureString 以取得可以安全且方便地儲存至檔案中的加密字串。
例如,假設在計算機上設置了管理員密碼並且必須保存到檔中。此動作會使用下列方法完成:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
此命令可將此管理員密碼擷取回至變數中作為安全物件,例如:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
現在來想想該如何使用 DCPP 的安全密碼。在 DCPP 中,如果使用者的電腦已設定系統或管理員密碼,則針對所有 set 命令中必須傳遞相應的密碼。因此,以純文字形式提供此密碼會違反安全性。您必須將密碼傳遞為 System.Security.SecureString。此外,當您通過 SecureString 密碼,您必須使用 -PasswordSecure 切換值來傳送,而非一般 –Password 切換值。下面顯示了使用者嘗試設置的範例 AdvancedBatteryChargeCfg 的輸出傳送至 Disabled 並傳送 SecureString 密碼:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
此處 $pass 存有系統和管理員密碼,且類型為 System.Security.SecureString。與上面的討論類似,您可以閱讀 $pass 如:
$pass = Read-Host "Enter system/admin password" –AsSecureString
您可以儲存 $pass 如果需要,到檔案中,作為:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Lisätietoja
相關的文章: