Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

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

Summary: Dell Command | Функция безопасного пароля PowerShell Provider, 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 Command | PowerShell Provider

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@assword1 преобразуется в тип System.Security.SecureString. Это больше информация, которая может быть широко или не используется.

Следующий командлет — ConvertFrom-SecureString это более широко используемый командлет, который используется для преобразования безопасных строк в зашифрованные стандартные строки. Основное ограничение этого обусловлено ConvertTo-SecureString тем, что выходные данные не могут быть записаны непосредственно в файл для дальнейшего использования. Для преодоления этого ConvertFrom-SecureString ограничения System.Security.SecureString необходимо использовать преобразуемую в зашифрованную стандартную строку, которую можно удобно сохранить в файле.

Мы преобразуем P@ssword1ConvertFrom-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 . Ниже показан пример, в котором пользователь AdvancedBatteryChargeCfgDisabled пытается установить и пароль пароль 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 Sept 2023

Version

7

Article Type

Solution