Функція Dell Command PowerShell Provider Secure Password
Zusammenfassung: Dell Command | Функція безпечного пароля PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString
Weisungen
Уражені продукти:
- Dell Command | PowerShell Provider
Концепція захищених паролів полягає в тому, що у виробничих скриптах важливі паролі не повинні передавати їх у відкритому вигляді. Це серйозна відсутність безпеки. Отже, використання PowerShell може захистити пароль або принаймні зменшити його видимість. Спершу обговоримо загальні аспекти захищеного рядка, а потім розглянемо, як DCPP використовує вбудовану функцію PowerShell для безпечного пароля.
Врахуйте, що ви хочете прочитати ім'я користувача та пароль від користувача на консолі. Відомо, що ім'я користувача зазвичай не потребує жодної безпеки і може бути видимим для всіх. Але щодо пароля не варто повідомляти незнайомцям пароль користувача. Цю вимогу можна реалізувати за допомогою наведених нижче команд:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Вищенаведено огляд того, як можна додати більше безпеки для більш захищеної критичної інформації, такої як пароль. У наведеному вище прикладі змінна $pass є типом System.Security.SecureString. Далі ви отримуєте вступ до двох інших широко використовуваних cmdlet, які надає PowerShell для забезпечення захищених полів, перш ніж перейти до аспектів DCPP.
Ці дві команди є ConvertTo-SecureString та ConvertFrom-SecureString. ConvertTo-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 Switch, а не звичайний –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
Пов'язані статті: