Функция безопасного пароля Dell Command PowerShell Provider
Zusammenfassung: Функция безопасного пароля Dell Command | PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString, Dell Command | PowerShell Provider (DCPP) Secure Password feature ...
Weisungen
Затронутые продукты:
- Dell Command | PowerShell Provider
Концепция безопасных паролей заключается в том, что в производственных скриптах они не должны передавать важные пароли в виде простого представления. Это серьезный недостаток безопасности. Таким образом, с помощью PowerShell можно защитить пароль или, по крайней мере, уменьшить видимость пароля. Сначала давайте обсудим общие аспекты защищенной строки, а затем обсудим, как 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@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
Weitere Informationen
Связанные статьи: