Рано или поздно каждый администратор приходит к тому, что ему необходимо каким-то образом сохранить, а потом и извлечь учётные данные. Причём это должно быть быстро, эффективно, удобно и самое главное безопасно.
Ни один из известных мне способов не отвечал всем этим требованиям одновременно. Я стал искать и нашел свой способ, которым и хочу поделиться с вами. Это PowerCLI! Удивлены? Порой самое простое решение лежит на поверхности.
VICredentialStore командлеты
PowerCLI содержит 3 VICredentialStoreItem командлета.
PS C:\> gcm -Noun vicred*
Эти командлеты очень просты в использовании. New-VICredentialStoreItem создаёт новую или обновляет существующую учётную запись.
Казалось бы, всё прекрасно, но есть одна проблема. Мы не можем использовать объект, возвращаемый командлетом Get-VICredentialStoreItem как значение для параметра -Credential (
Здесь нам и поможет функция Convert-VI2PSCredential из моего PowerCLI Vi-Module модуля.
Convert-VI2PSCredential
Convert-VI2PSCredential конвертирует учётные записи, возвращаемые командлетом Get-VICredentialStoreItem в общеизвестный [PSCredential] тип данных.
Это позволит нам использовать учётные записи PowerCLI в абсолютно любых командлетах (не только PowerCLI), поддерживающих параметр -Credential!!! И таких не мало...
Теперь вы можете надёжно хранить ваши учётные записи с помощью New-VICredentialStoreItem, затем читать их с Get-VICredentialStoreItem, конвертировать их с Convert-VI2PSCredential и передавать их в параметр –Credential.
Давайте для примера залогинимся в Azure с помощью сохранённой учётной записи. Значение параметра –Host - это только указатель, который будет вам нужен для выбора учётной записи с Get-VICredentialStoreItem. Сам он не является её частью.