Connect-VIServer -Server hostname -User username -Password password
こちらを、あらかじめ暗号化しておくことで、パスワードを見られずにすむ。
このように暗号化したパスワードを使用してvCenterサーバへ接続する方法を記載します。
- パスワードをあらかじめ暗号化し、ファイルへ保存
- PowerCLIのスクリプト内で暗号化した文字列を変数へ代入 C:\tmp\securestring.txtファイルを開き、暗号化された文字列を下記のようにPowerCLIスクリプト内へコピーします。
- 暗号化された文字列をデクリプトし、Credentialオブジェクトへユーザ名とともに格納
- そのCredentialオブジェクトを使用しvCenterへ接続
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File C:\tmp\securestring.txt
$encryptedString = “01000000d08c9ddf0115d1118c7a00c04fc297eb01000000...”
$username = Administrator
$secureString = ConvertTo-Securestring $encryptedString
$credential = New-Object System.Management.Automation.PSCredential($username, $secureString)
Connect-VIServer -Server $hostname -Credential $credential
上記サンプル:sample.ps1
$encryptedString = “01000000d08c9ddf0115d1118c7a00c04fc297eb01000000...省略してます”
$username = username
$secureString = ConvertTo-Securestring $encryptedString
$credential = New-Object System.Management.Automation.PSCredential($username, $secureString)
Connect-VIServer -Server ホスト名 -Credential $credential
$username = username
$secureString = ConvertTo-Securestring $encryptedString
$credential = New-Object System.Management.Automation.PSCredential($username, $secureString)
Connect-VIServer -Server ホスト名 -Credential $credential
これを少し簡略化した記述方法は下記
$encryptedString = “01000000d08c9ddf0115d1118c7a00c04fc297eb01000000...省略してます”
$username = username
$credential = ConvertTo-Securestring $encryptedString | % {New-Object System.Management.Automation.PSCredential($username, $_)}
Connect-VIServer -Server $hostname -Credential $credential
$username = username
$credential = ConvertTo-Securestring $encryptedString | % {New-Object System.Management.Automation.PSCredential($username, $_)}
Connect-VIServer -Server $hostname -Credential $credential
0 件のコメント:
コメントを投稿