PowerShellスクリプトに暗号化したパスワードを使用する

運用を自動化するためにPowerShellスクリプトを作成する場合があると思います。


例えば、AzureやOffice 365の自動化の場合、ログイン処理も自動化が必要になります。

ログインの自動化にはユーザー名とパスワードが必要ですが、パスワードをスクリプト内に書いたり、平文のパスワードファイルを用意するのはセキュリティ的に好ましくありません。


そのため、暗号化したパスワードをファイルに保存し、PowerShellスクリプト内でパスワードファイル使用するのが望ましいです。


今回は、暗号化したパスワードファイルの作成方法と、そのパスワードファイルを利用したログインの自動化を紹介します。


1.暗号化したパスワードファイルの作成方法

最初にPowerShellスクリプトで使用するパスワードファイルを作成します。

下記のコマンドで入力したパスワードを暗号化した文字列としてファイルに出力することが可能です。

ファイル名とパスは任意の値を指定してください。

$Cred = Get-Credential
$Cred.Password | ConvertFrom-SecureString | Set-Content C:\Password.pass



2.パスワードファイルの使用方法

次に作成したパスワードファイルを使用する方法です。

下記のコマンドで、暗号化したパスワードファイルを読み込み、復号化したパスワードを利用することが可能です。

ファイル名は先程作成したファイルを指定してください。

$Password = Get-Content C:¥Password.pass | ConvertTo-SecureString

「ConvertTo-SecureString」を実行しないと下記のエラーが表示されます。

New-Object : “PSCredential” のオーバーロードで、引数の数が “2” であるものが見つかりません。


上記のコマンドをPowerShellスクリプト内で利用することで、ログインの自動化を実現することが可能です。

コメント

タイトルとURLをコピーしました