ESXi の root パスワードを忘れてしまった場合のリセット方法について
記載します。
環境
vCenter Server 7.0 U3
ESXi 7.0 U3
ホストプロファイルを使用した root パスワードのリセット方法
まずは、vCenter Server のホストプロファイル機能を使用した ESXi の
root パスワードのリセット方法を記載します。
ホストプロファイルは Enterprise Plus エディションで使用できる機能
となりますので、留意ください。
初めに、vSphere Client へログインし [メニュー] → [ポリシーおよびプロファイル]
を選択します。
![](https://ss-engineer.com/wp-content/uploads/2023/04/ea67ca5b01d1339def035dffe43406ef-1024x448.png)
左ペインより [ホスト プロファイル] を選択し、[ホスト プロファイルの抽出] を
クリックします。
![](https://ss-engineer.com/wp-content/uploads/2023/04/b96d8385511314a445321a20fc43d905-1024x367.png)
パスワードを変更する ESXi を選択し、[次へ] をクリックします。
![](https://ss-engineer.com/wp-content/uploads/2023/04/19f72a40d8411c411415676b79bab40f-1024x675.png)
ホストプロファイル名を設定し、[完了] をクリックします。
![](https://ss-engineer.com/wp-content/uploads/2023/04/3c93a67bfcce565e5a1b13922bf57a21-1024x674.png)
作成されたホストプロファイルを右クリックし、[ホスト プロファイルの編集]
をクリックします。
![](https://ss-engineer.com/wp-content/uploads/2023/04/34e52003d8b2ff4b1fb7b4e22a7ff013-1024x442.png)
各コンポーネントにチェックが付いてるので全てチェックを外し、検索欄で
[root]と検索します。
![](https://ss-engineer.com/wp-content/uploads/2023/04/f655644d7c9042d5da118a2d151eb3a8-1024x571.png)
![](https://ss-engineer.com/wp-content/uploads/2023/04/0df83c6837ef40dc00644210614f830d-1024x570.png)
[root] と検索した画面で、[ユーザー設定] → [root] にチェックを入れ
[パスワード] を [固定パスワード設定] に変更します。
![](https://ss-engineer.com/wp-content/uploads/2023/04/72ac6e87f078d79f9e55618068ed9f84-1024x570.png)
[パスワード] に新しいパスワードを入力し、[保存] をクリック。
![](https://ss-engineer.com/wp-content/uploads/2023/04/8f64968f4bce445d353230d1407fc3ee-1024x570.png)
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
ESXi のパスワード要件を満たしている、パスワードを設定する必要があります。
・ESXi のパスワードとアカウントのロックアウト
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.esxi.upgrade.doc/GUID-DC96FFDB-F5F2-43EC-8C73-05ACDAE6BE43.html
-> ESXi のパスワード
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
ホストプロファイルの更新が完了したら、対象のホストプロファイルを右クリック
→ [ホストおよびクラスタの添付/分離] をクリックし、対象の ESXi を選択の上、
[保存] をクリックします。
![](https://ss-engineer.com/wp-content/uploads/2023/04/2bee17fbac857daaa50e77e5aec24173-1024x463.png)
![](https://ss-engineer.com/wp-content/uploads/2023/04/aa99bc7e77450e92f531b7107622fc6d.png)
ホストプロファイルの添付が完了後、再度ホストプロファイルを右クリック →
[修正] をクリックし、対象の ESXi にチェックが入った状態で [修正] を実行
します。
![](https://ss-engineer.com/wp-content/uploads/2023/04/60a2ebfefff4091915cdf168b9a8cc3c-1024x485.png)
![](https://ss-engineer.com/wp-content/uploads/2023/04/d100859e5d165b6eb59d4edda3183861-1024x443.png)
以上で、ESXi の root パスワードが更新されました。
本操作により、特に ESXi が再起動されることもありませんでした。
<参考>
ホスト プロファイルを使用した ESXi root パスワードのリセット (68079)
https://kb.vmware.com/s/article/68079?lang=ja
PowerCLI を使用した ESXi の root パスワードのリセット
PowerCLI から実行する場合はホストプロファイルとは違い、全ての
エディションで実行可能となります。
ESXi では、esxcli コマンドを使用して root パスワードの更新を実施する
ことが可能となり、PowerCLI で vCenter Server に接続後、対象の
ESXi オブジェクトを取得し、esxcli コマンドを実行させるといったことが
可能です。
実際に PowerCLI で vCenter Server に接続し、以下のようなスクリプト
を実行することにより ESXi の root パスワードをリセットすることが可能
となります。
$cred = Get-Credential -UserName "root" -message "Enter new ESXi root password"
$vmhosts = get-vmhost | Out-GridView -PassThru -Title "Select ESXi hosts for changing the root password"
Foreach ($vmhost in $vmhosts) {
$esxcli = get-esxcli -vmhost $vmhost -v2
$esxcli.system.account.set.Invoke(@{id=$cred.UserName;password=$cred.GetNetworkCredential().Password;passwordconfirmation=$cred.GetNetworkCredential().Password})
}
$esx_hosts = Get-VMHost my_host
foreach ($esx_host in $esx_hosts) {
$esxcli = Get-EsxCli -VMhost $esx_host -V2
$arguments = $esxcli.system.account.set.CreateArgs()
$arguments.id = ‘root’
$arguments.password = ‘P@ssword789’
$arguments.passwordconfirmation = ‘P@ssword789’
$arguments
$esxcli.system.account.set.Invoke($arguments)
}
PowerCLI のインストール手順は以下で記事にしています。