Home Menu Search

Saqwel

IT and other things blog

Работа с паролями в PowerShell

Поделиться с друзьями

При автоматизации различных процессов посредством PowerShell мне очень часто приходится производить авторизацию в какой-нибудь системе. При этом, для каждой системы используются свои наборы логинов и паролей. Когда количество скриптов, выполняющих работу было не велико, не возникало и особых проблем. Несколько паролей я шифровал такой командой:

и хранил в реестре. Зашифрованный таким образом пароль был доступен для расшифровки только той же учетной записи из под которой он был зашифрован. Но большую часть паролей приходилось хранить также в реестре в открытом виде, так как эти пароли иногда нужны не только скриптам PowerShell, но и мне лично.

Поддержать автора

С ростом числа скриптов и автоматизируемых процессов встал вопрос, как хранить пароли, чтобы это было безопасно, удобно и бесплатно. Мой коллега нашел менеджер паролей, который называется KeePass и позволяет удобно работать с паролями как вручную, так и из PowerShell. Он удовлетворяет всем требованиям, которые мы предъявляем к менеджеру паролей.

Ну и самое главное. Как же посредством PowerShell получить доступ к паролям? Чтобы открыть базу KeePass я также использую пароль, поэтому надо сохранить этот пароль в кусте реестра HKCU моей учетной записи (зашифрованный таким образом пароль сможет расшифровать только моя учетная запись):

Ниже функция, которая возвращает логин и соответствующий ему пароль из KeePass. Подроности его работы в комментариях к коду.

Leave a Reply