跳至主要內容
  • 簡單快速地下訂單
  • 檢視訂單及追蹤商品運送狀態
  • 建立並存取您的產品清單
  • 使用「公司管理」來管理您的 Dell EMC 網站、產品和產品層級連絡人。

Dell Command PowerShell Provider 安全密碼功能

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

本文章適用於   本文章不適用於 

說明

受影響的產品:

  • 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

其他資訊

受影響的產品

Dell Command | Powershell Provider
文章屬性
文章編號: 000146459
文章類型: How To
上次修改時間: 18 7月 2024
版本:  8
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。
文章屬性
文章編號: 000146459
文章類型: How To
上次修改時間: 18 7月 2024
版本:  8
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。