Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Dell Command PowerShell Provider 安全密碼功能

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this 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

Additional Information

Affected Products

Dell Command | Powershell Provider
Article Properties
Article Number: 000146459
Article Type: How To
Last Modified: 18 Jul 2024
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.