Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Dell Command PowerShell Provider 安全密碼功能

Résumé: Dell Command | PowerShell Provider (DCPP) 安全密碼功能, ConvertTo-SecureString, ConvertFrom-SecureString, Dell Command | PowerShell Provider (DCPP) Secure Password feature

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Instructions

受影響的產品:

  • Dell Command | PowerShell Provider

安全密碼背後的概念是,在生產指令檔中,我們不應以可一眼看清的方式傳遞重要密碼。此動作嚴重缺乏安全性。因此,使用 PowerShell 可讓我們保護密碼或至少降低密碼可見度。我們會先討論安全字串的一般層面,然後再討論 Dell Command PowerShell Provider (DCPP) 如何運用 PowerShell 的固有功能來保護密碼。

假設我們要讀取使用者在主控台上的使用者名稱和密碼。我們知道使用者名通常不需要任何安全性,並可向所有人顯示。但是對於密碼,我們不應該讓陌生人知道使用者的密碼。我們可以使用以下命令來達到此要求:

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

以上概述當我們必須保護密碼等重要資訊時,應如何提升安全性。在上方範例中,變數 $pass 的類型為 System.Security.SecureString。在說明 DCPP 之前,我們會先介紹 PowerShell 提供的另外兩個廣泛使用的 cmdlet,以協助實現安全欄位。

這兩個命令是 ConvertTo-SecureStringConvertFrom-SecureStringConvertTo-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

Informations supplémentaires

Produits concernés

Dell Command | Powershell Provider
Propriétés de l’article
Numéro d’article: 000146459
Type d’article: How To
Dernière modification: 18 Jul 2024
Version:  8
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.