Найти в Дзене
Записки Одмена

powershell. Создаём свой пароль в зашированном виде. Показываю как использовать его в скриптах.

Оглавление

Всех категорически приветствую!

В данной статье я расскажу, как зашифровать свой пароль и использовать его в дальнейшем в своих скриптах.

powershell logo
powershell logo

Наши действия:

  • создаём ключ
  • шифруем ключом свой пароль
  • сохраняем зашифрованный пароль и ключ в укромном месте
  • Ограничиваем права на файл с ключом.

Скрипт

  • Пишем пути, куда будем сохранять ключ и пароль в зашифрованном виде (тхт файл) и вбиваем пароль от своего доменного админа
пути
пути
  • генерируем ключ и шифруем им пароль, который после записываем в txt файл
генерация ключа и шифрование пароля
генерация ключа и шифрование пароля

Полный код опубликован тут

Создаём отдельный файл для импорт

Далее нам необходимо создать отдельный файл .ps1, который мы будем в будущем импортировать (Import-Module) как наш модуль в свои скрипты.

  • Указываем пути к ключу, зашифрованному паролю, логин доменного админа
пути
пути

Расшифровываем пароль и создаём переменную для -Credential

расшифровываем пароль и создаём переменную для -Credential
расшифровываем пароль и создаём переменную для -Credential

Полный код опубликован тут

Использование переменной в скриптах на примере $profile

Теперь эту переменную можем использовать в наших скриптах. Например, я писал статью о создании профайла для использования командлетов Exchange и S4B managment shell. Теперь можно переделать файл с профайлом таким образом:

импортируем файл, который мы сделали ранее

указываем в -Credential нашу новую переменную из импортированного файла с нашим логином и паролем.

импорт файла с переменной, содержащей логин и пароль
импорт файла с переменной, содержащей логин и пароль

Полный код опубликован тут

После этого, когда будет включаться Powershell ISE, автоматический profile будет подгружать файл с готовой переменной и пароль вводить будет не нужно.

Итог

Теперь, импортируя в каждый свой следующий скрипт файл с готовой переменной $MySecureCreds, можно облегчить себе жизнь и не вводить пароль каждый раз, при этом пароль в открытом виде не передаётся.

Спасибо за внимание. Посмотрите на моём канале другие полезные статьи, может они вам помогут решить ваши задачи.