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
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Функція безпечного пароля постачальника Dell Command PowerShell

Summary: Команда Dell | Функція безпечного пароля постачальника PowerShell, ConvertTo-SecureString, ConvertFrom-SecureString

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Продукти, що зазнали впливу:

  • Команда Dell | Постачальник PowerShell

Cause

Не зазначалося

Resolution

Концепція безпечних паролів полягає в тому, що у виробничих сценаріях ми не повинні передавати важливі паролі як звичайний вигляд. Це серйозний недолік безпеки. Таким чином, використовуючи PowerShell, ми можемо захистити пароль або, принаймні, зменшити видимість пароля. Спочатку ми обговорюємо загальні аспекти безпечного рядка, а потім обговорюємо, як Dell Command PowerShell Provider (DCPP) використовує вроджену функцію PowerShell для захисту пароля.

Врахуйте, що ми хочемо прочитати ім'я користувача та пароль від користувача на консолі. Ми усвідомлюємо, що ім'я користувача, як правило, не вимагає ніякої безпеки, і воно може бути видимим для всіх. Але для пароля ми не повинні повідомляти стороннім людям пароль користувача. Ми можемо полегшити цю вимогу за допомогою команд, як показано нижче:

$user = Read-Host "Enter Username"

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

Вище наведено огляд того, як ми можемо додати більше безпеки, коли ми повинні захистити важливу інформацію, таку як пароль. У наведеному вище прикладі змінна $pass має тип System.Security.SecureString. Ми ознайомимося з двома іншими широко використовуваними командлетами, які надає PowerShell для полегшення захисту полів, перш ніж торкатися аспектів DCPP.

Дві команди є ConvertTo-SecureString і ConvertFrom-SecureString. ConvertTo-SecureString Перетворює звичайний текст на текст System.Security.SecureString. Приклад показаний нижче:

"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force

У наведеному вище прикладі звичайний текст перетворюється на текст P@assword1System.Security.SecureString. Це скоріше інформація і може широко використовуватися, а може і не використовуватися.

Наступний командлет ConvertFrom-SecureString є більш широко використовуваним командлетом, який використовується для перетворення захищених рядків на зашифровані стандартні рядки. Основне обмеження полягає в 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 пароль, ми повинні передати його перемикачем, а не звичайним –Password перемикачем-PasswordSecure. Нижче показано приклад, де користувач намагається встановити 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

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sep 2023

Version

7

Article Type

Solution