Connect-VIServer -Server localhostしかし、他サーバーや端末から接続しようとすると、ユーザー名・パスワードを求められるポップアップが表示されてしまう。手作業であれば問題ないが、スクリプト等で実行しようとすると不便であり、かと言って、
Connect-VIServer -Server localhost -User hoge -Password hogepassといったように、パスワードを平文で書いてしまうのもセキュリティ上問題となるので、パスワードファイルを生成して読み込ませる方法を記載する。この方法はPowerCLIに限らず、PowerShellのスクリプトでも活用できるはず。
実施方法
事前に「本スクリプト実行サーバ」にて、以下コマンドにてSecureString型のパスワード生成する。Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File vcpwd.txt
コマンドを実行した後パスワードを入力してEnterを押せば、vcpwd.txtというファイルが作成される。
上記パスワードファイルを読み込ませてvCenter Serverに接続し、色々処理をした後切断するスクリプトは以下の通り。
# vCenterサーバへ接続
$VCENTER = "192.168.1.100" # vCenter ServerのIPアドレス
$VCUSER = "vcenteruser" # vCenter Serverログインユーザー
$secpasswd = cat vcpwd.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential ($VCUSER, $secpasswd)
$vi = Connect-VIServer -Server $VCENTER -Credential $cred
~ここに処理を書く~
# vCenterサーバより切断
Disconnect-VIServer -Server $vi -Force -Confirm:$False
exit 0
0 件のコメント:
コメントを投稿