VMware環境で最も役立つESXCLIコマンド
ESXiホストやVMware環境の管理には、VMwareが提供するGUIであるvSphere Clientや、WebベースのVMware vSphere Web/HTML5 Clientを使用できます。ほとんどの設定はGUIから行えますが、GUIには表示されない情報を取得したり、設定を変更したりする必要がある場合もあります。
そのような場合、隠された設定を含め、すべての設定を構成できるコマンドラインインターフェイス(CLI)または"コンソール"が必要になります。LinuxとESXiで共通する従来のコマンドに加え、ESXiには独自のESXCLIコマンドがあります。
このブログ記事は、ESXiシェルコマンドの一部である便利なESXCLIコマンドを一覧にしたカタログ形式で作成されています。
ESXiシェルコンソールの開き方
デフォルトでは、ESXiシェルはローカルおよびリモートアクセスに対して無効になっています。つまり、ESXiシェルまたはSSHアクセスを有効にするまで、ESXiシェルコマンドを実行することはできません。VMwareはセキュリティ上の理由から、この制限を設けています。
ここでは、ESXiでコマンドラインインターフェースを有効にする3つの主な方法について見ていきましょう。
デフォルトのESXiインターフェースを使用してコンソールへのアクセスを有効にする
この方法は、ESXiホストのモニターやキーボードなど、ホストに物理的にアクセスできる場合に使用します。
- その ESXi ダイレクトコンソールユーザーインターフェース (DCUI)、[ここ](https://example.com) へ移動してください
Troubleshooting Options、[ ] に移動してEnable ESXi ShellそしてEnable SSH文字列を入力し、Enter各オプションを有効にするには。 - ESXiシェルを有効にした後、
Alt+F1ESXiが動作しているマシンのコンソールを開きます。その後、ログイン名とパスワードを入力してください(rootユーザーの認証情報を使用できます)。 - ESXiシェルコマンドを実行できます。
- ESXi DCUIに戻る必要がある場合は、
Alt+F2. そのEnable SSHこのオプションを使用すると、SSHクライアントを利用してESXiコンソールをリモートで開くことができます。
VMware Host Client を使用したコンソールへのアクセスを有効にする
- Webブラウザを開き、アドレスバーにESXiホストのIPアドレスを入力して、ログインしてください。
- 移動
Host>Actions>ServicesをクリックしてEnable Secure Shell (SSH)ESXiが再起動するまでSSHアクセスを有効にする。同様に、ローカルのESXiホストでは、
Servicesメニュー。移動Manage>Services. を右クリックしてTSM-SSHサービス。ヒットPolicy>Start and Stop with hostESXiの再起動後もSSHアクセスを有効にするため。 - これで、SSHクライアントを使用してESXiコンソールにリモート接続できるようになりました。

vCenter および VMware vSphere Client を使用したコンソールへのアクセスを有効にする
この方法は、ESXiホストがvCenter Serverによって管理されている場合に利用できます。
- ログインする VMware HTML5 vSphere Client ウェブブラウザで。
- 移動
Hosts and Clustersそして、ESXiホストを選択してください。 - [選択]
Configureタブを開くSystem>Services, をクリックしてSSHサービス一覧の中で。 - ヒット
StartSSHサーバーを一度起動するか、Edit Startup Policyそして選択してくださいStart and Stop with hostSSHサーバーを長期間有効にしたい場合。また、Servicesメニュー。
SSHアクセスが有効になると、SSHクライアントを使用してESXiホストにリモート接続し、ESXCLIコマンドを実行できるようになります。
SSH経由での接続
SSH 経由で ESXi コンソールにリモート接続するには、Linux コンソールで以下の操作を行ってください。
- 次のようなコマンドを実行します:
ssh 192.168.101.221または
ssh root@192.168.101.221どこ 192.168.101.221 は、この例で使用しているESXiサーバーのIPアドレスです。
- ESXiユーザーのユーザー名とパスワードを入力する必要があります(
root(ESXiのデフォルトの管理ユーザーとして使用できます)。
同様に、コマンドラインからSSH経由でESXiホスト間で接続することもできます。
Windowsでは、 PuTTY:
- 開く
PuTTY - ESXiホストのIPアドレスとポートを入力してください。
- ヒット
OpenSSH経由でESXiホストに接続するには。
SSH経由でESXiホストに接続し、リモートでESXCLIコマンドを実行するのが、最も一般的かつ安全な方法です。
LinuxにESXCLIをインストールする方法
ESXCLI コマンドをリモートで実行する別の方法は、Linux に ESXCLI をインストールすることです。このためには、Python がインストールされている必要があります。以下に、Linux に ESXCLI をインストールするための主な手順を示します。
- システムに変更を加える前に、Linuxマシンのバックアップを取ってください。
- ESXCLI を VMwareのウェブサイト
- ダウンロードしたファイルから内容を抽出する
esxcli-8.0.0-22179150.tgzアーカイブ(root権限で実行):tar zxf esxcli-8.0.0-22179150.tgz -C /opt/vmware - 次のコマンドでESXCLIインストーラを実行します:
python setup.py install - ESXiホストに接続し、ESXCLIでコマンドをリモート実行してみてください:
esxcli --server ESXI_IP_address --helpESXiではホスト間の信頼関係が必要であるため、エラーが発生します:
Certificate error. Server SHA-256 thumbprint: 64:CC:E5:F8:A4:AA:F6:9B:58:55:78:B7:E3:B3:69:10:83:3B:22:3C:BB:17:3D:12:28:D1:CD:E9:48:7A:FF:AA (not trusted)
- この問題を解決するには、ユーザー名、パスワード、および前の出力メッセージに表示されたサムプリントを指定して、次のコマンドを実行してください:
esxcli --server 192.168.101.101 --username root --password 'your_password' --thumbprint 64:CC:E5:F8:A4:AA:F6:9B:58:55:78:B7:E3:B3:69:10:83:3B:22:3C:BB:17:3D:12:28:D1:CD:E9:48:7A:FF:AA --help
あるいは、Linuxマシンに証明書をインストールしてみることもできます。証明書は /etc/vmware/ssl/rui.crt ESXiホスト上で。
ESXCLI コマンドの概要
ESXiシェルの一部であるESXCLIは、仮想インフラストラクチャ(ハードウェア、ネットワーク、ストレージなどのESXiコンポーネント)を管理し、ESXi自体を低レベルで制御するためのCLIフレームワークです。技術的には、ESXCLIはPythonスクリプトであり(/bin/esxcli.py (ESXi内)。すべてのESXCLIコマンドは、ESXiシェル(コンソール)で実行する必要があります。一般的に、 esxcli は、名前空間と呼ばれる多数のサブコマンドとそのオプションを持つコマンドです。 esxcli ESXiのインストール直後から、このコマンドは他のESXiシェルコマンドとともに利用可能です。
以下のコマンドを実行すると、esxcliの位置を確認し、ESXCLIの機能について詳しく調べることができます:
which esxcli
ls -l /sbin/esxcli

コンソールの出力を確認すればわかるように、ESXCLIはPythonで記述されたスクリプトであり、 /sbin/ ディレクトリ。スクリプトの内容を確認したい場合は、組み込みのテキストエディタを使用できます vi.
基本的に、ESXCLIの構文は以下の通りです:
esxcli [options] {namespace}+ {cmd} [cmd options]
したがって、ESXCLI は、ESXCLI コマンドの主要なカテゴリ(ネームスペース)となるブランチで構成されています。ESXi で使用される他のコンソールコマンドと同様に、esxcli コマンドは大文字と小文字が区別される点に注意してください。利用可能なすべての ESXCLI ネームスペースとコマンドの完全な一覧は、次のコマンドを実行すると表示されます:
esxcli esxcli command list
利用可能なESXCLIコマンドの一覧は、ESXiのバージョンによって異なります。新しいコマンドが追加される場合があります。
したがって、ESXi 8.0における主要なESXCLIネームスペースの一覧は以下の通りです:
device– デバイスマネージャーのコマンドesxcli– ESXCLI自体に関連するコマンドfcoe– ファイバー・チャネル・オーバー・イーサネットのコマンドgraphics– VMwareのグラフィックスコマンドhardware– ハードウェアのプロパティを確認し、ハードウェアを設定するためのコマンドiscsi– VMware iSCSI コマンドnetwork– この名前空間には、ホストの一般的なネットワーク設定(ESXiホストのIPアドレス、DNS設定、ファイアウォールなど)や、vSwitch、ポートグループなどの仮想ネットワークコンポーネントを管理するための幅広いコマンドが含まれています。nvme– VMware NVMe ドライバーの拡張機能の管理rdma– リモート・ダイレクト・メモリー・アクセス(RDMA)プロトコル・スタックを管理するためのコマンドsched– スケジューリングおよびVMkernelシステムのプロパティを設定するために使用されるコマンドsoftware– ESXi用のESXiソフトウェアイメージおよびパッケージの管理storage– ストレージの管理に使用されるコマンドsystem– VMkernelのシステムプロパティ、カーネルコアシステム、およびシステムサービスを設定するためのコマンドvm– 仮想マシンの動作を制御するために使用できるコマンドの一部vsan– VMware vSAN コマンド
主なコマンドは、同じ動作を表す動詞として表示されます:
list– 定義された名前空間で使用可能なオブジェクトの一覧を表示します(例:esxcli hardware bootdevice list– 利用可能な起動デバイスの一覧を表示する)get– 定義された設定またはプロパティの値を取得します(例えば、esxcli hardware clock get– 設定された時刻を確認してください)set– 必要なパラメータを手動で設定します(例:esxcli hardware clock set -y 2024 -s 00– 年を2024に、秒を00に設定してください)load/unload– システム構成の読み込み/書き込み(esxcli network firewall load– 設定ファイルに保存されているファイアウォールモジュールとファイアウォール設定を読み込む)
特定のネームスペースに関連するESXCLIコマンドを思い出せない場合は、コマンドを入力すると、コンソールの出力にヒントが表示されます。
たとえば、次のように入力します:
esxcli network [対象] の利用可能なすべてのコマンドを表示するには ネットワーク
名前空間を指定し、次のように入力します:
esxcli network vm のコマンドを確認するには vm 名前空間。

ESXCLIのログファイルは、 /var/log/esxcli.log
ESXCLI コマンドの実行に失敗した場合、このファイルにデータが書き込まれます。ESXCLI コマンドが正常に実行された場合、このログファイルには何も書き込まれません。
便利なESXCLIコマンド
ESXCLI コマンドの基本的な動作原理について理解できたところで、VMware vSphere で活用できる便利なコマンドの具体例を見ていきましょう。本記事で取り上げる ESXCLI コマンドの一覧は、ネームスペース名に対応するカテゴリごとに分類されています。
ESXiでハードウェアの詳細を確認するコマンド
~を使用することで hardware 名前空間では、インストール済みのデバイスに関する詳細情報を確認できます。
- インストールされているPCIデバイスを確認するには、次のESXCLIコマンドを実行します:
esxcli hardware pci list | more - ESXiサーバーに搭載されているメモリ容量を確認します:
esxcli hardware memory get
- インストールされているプロセッサの詳細情報を表示する:
esxcli hardware cpu list
ESXCLI システムコマンド
このセクションでは、 system ESXCLI ネームスペース。
- インストールされているアップデートやパッチの数を含め、ESXiの正確なバージョンとビルド番号を確認してください:
esxcli system version get - ESXiサーバーのホスト名を確認する:
esxcli system hostname get - ESXiのインストール日時を確認してください:
esxcli system stats installtime get
- SNMPの設定を確認してください:
esxcli system snmp get - ESXiホストをメンテナンスモードに切り替えます:
esxcli system maintenanceMode set --enable yes - メンテナンスモードを終了する:
esxcli system maintenanceMode set --enable no
ESXiホストをメンテナンスモードにした後、そのホストをシャットダウンまたは再起動することができます。
- ESXiホストの電源を切る:
esxcli system shutdown poweroff - ホストを再起動するコマンドも同様です:
esxcli system shutdown reboot - また、遅延時間を設定したり、ホストを再起動する理由をシステムログに記録するように設定することもできます:
esxcli system shutdown reboot -d 60 -r "Installing patches"この例では、遅延時間は60秒です。
もう1つのコマンドは、標準の背景画面(非アクティブなメインメニューが陰影付きで表示されるもの)の代わりに、カスタムのウェルカムメッセージを設定することです。 “ ヒントと、ホストを管理するためのIPアドレスが表示されます。カスタムウェルカムメッセージを設定すると、黒い画面にはこの設定したメッセージのみが表示される点にご注意ください。入力するには “Press F2” 混乱を避けるために手動で。
- このカスタムメッセージは、ユーザーがログインしていない際に、ESXiホストに接続されたディスプレイ上で、ESXiホストに関する情報を非表示にするために使用できます。
esxcli system welcomemsg set -m="Welcome to NAKIVO! Press F2" - ウェルカムメッセージがすでに設定されているか確認してください:
esxcli system welcomemsg get
ESXCLI のネットワークコマンド
その network namespace は、ESXCLI の中でも最大規模のネームスペースの一つです。ここでは、診断に役立つコマンドについて見ていきましょう。
- アクティブなネットワーク接続の状態を確認する:
esxcli network ip connection list
- インストールされているネットワークアダプタのリストを表示する:
esxcli network nic list
- ネットワークインターフェースに関する情報を表示します:
esxcli network ip interface list - サーバー上に存在するネットワークインターフェースのIPアドレスに関する情報を表示します:
esxcli network ip interface ipv4 get - 仮想マシンのネットワーク情報を表示する:
esxcli network vm list
- ドメイン検索の設定を表示する:
esxcli network ip dns search list - ネットワーク設定で設定されているDNSサーバーを確認する:
esxcli network ip dns server list - 一覧 仮想スイッチ およびポートグループ:
esxcli network vswitch standard list - の統計を表示する
vmnic0ネットワークインターフェース:esxcli network nic stats get -n vmnic0 - ファイアウォールの状態とルール設定を確認してください:
esxcli network firewall getesxcli network firewall ruleset list注記: デフォルトのファイアウォールポリシーでは、反対のルールが設定されていない場合、トラフィックは拒否されます。
- トラブルシューティングのために、ESXiホストのファイアウォールを一時的に無効にすることができます:
esxcli network firewall set --enabled false - ファイアウォールは、次のコマンドで有効にする必要があります:
esxcli network firewall set --enabled true
セキュリティ上の理由から、ESXiのファイアウォールを有効にしておくことをお勧めします。
network この名前空間には多くのコマンドが含まれています。ここでは、その中から基本的なものや最もよく使われるもののみを取り上げます。 ネットワーク 本日のブログ記事のこのセクションでは、ESXCLI を使用して多数のネットワークパラメータを設定することは可能ですが、その手順を詳しく解説するには長くなりすぎるため、本記事の範囲外となります。
ESXCLIのストレージコマンド
その storage "namespace"では、ストレージ設定の確認や編集を行うことができます。
- マウントされた VMFS ボリュームに関する情報を確認してください:
esxcli storage vmfs extent list - VMFSファイルシステムとディスクデバイスとのマッピングを表示する:
esxcli storage filesystem list - システム上のすべてのiSCSIパスを一覧表示する:
esxcli storage core path list - マウントされているNFS共有の一覧を表示します:
esxcli storage nfs list
ESXCLIでSMARTを確認する方法
S.M.A.R.T.は、ディスクの診断やディスクの故障防止に役立ちます。S.M.A.R.T.データを読み取り、ディスクに異常があることが判明した場合は、速やかにディスクの交換を判断することができます。
- まず、すべてのストレージデバイスを一覧表示し、固有のデバイス名を確認します(下のスクリーンショットを参照):
esxcli storage core device list - 次に、そのディスクデバイスのS.M.A.R.T.データを取得するために、次のコマンドを実行します:
esxcli storage core device smart get -d naa.50026b7267020435どこ
naa.50026b7267020435は、この例で使用されているデバイスの名前です。
iSCSIアダプタのリストを確認する
iSCSIは、ブロックレベルで共有ストレージにアクセスするために広く利用されているプロトコルであり、これとは別に iscsi iSCSI ストレージを管理するための ESXCLI の名前空間。
- 利用可能なiSCSIアダプタのリストを表示します:
esxcli iscsi adapter list - iSCSIアダプタの再検出と再スキャン:
esxcli iscsi adapter discovery rediscover -A adapter_nameesxcli storage core adapter rescan -A adapter_name
~の代わりに -A adapter_name 以下の方法を使用すれば、すべてのアダプターを再スキャンできます。 --all オプション。

ESXiソフトウェアのVIBリストを確認する
ESXi向けのソフトウェアパッケージは、通常、VIBファイル(vSphere Installation Bundle)として配布されます。 VIBファイルは、システムにインストール可能な圧縮パッケージと、記述子および署名ファイルを含むコンテナのようなものです。また、VIBは通常、標準のZIP形式でアーカイブ化されたファイルとして配布されます。適切なハードウェアを使用するためにVIBをESXiイメージに組み込む必要があったり、セキュリティパッチを適用するために既存のシステムにVIBをインストールしたりする場合があります。
- ESXiホストにインストールされているVIBパッケージの一覧を確認するには:
esxcli software vib list - ESXCLI を使用して VIB をインストールできます(ESXi ホストはメンテナンスモードである必要があります):
esxcli software vib install -d /vmfs/volumes/datastore1/patches/patch_name.zip
ESXCLI での仮想マシンの運用管理
その vm namespace は、実行中の仮想マシンのプロセスに対する操作に使用できます。
- 実行中のVMの一覧を確認し、それぞれのWorld IDを表示します:
esxcli vm process list
応答しなくなった仮想マシンは、ESXiシェルコマンドを使用して強制終了できます。VMware vSphere Client、VMware Host Client、またはVMware WorkstationなどのGUIから仮想マシンをシャットダウンできない場合、ESXCLIを使用すると便利です。
- の出力に表示されるWorld IDを使用して、VMをシャットダウンします。
esxcli vm process listコマンド。この例では、必要なVMのWorld IDは75498です。esxcli vm process kill -w 75498 -t soft - ソフトシャットダウンが効果がない場合は、ハードシャットダウンを使用してVMを直ちにシャットダウンすることを検討してください。
esxcli vm process kill -w 75498 -t hard
このコマンドには、以下の3つのオプションがあります。 kill コマンド:
soft– ゲストOSに適切なシグナルが送信され、VMが正常にシャットダウンされるhard– 仮想マシンは直ちにシャットダウンされますforce– VMの電源を切る方法は、コンピュータの電源プラグを抜く場合と同様です。この方法でVMの電源を切る場合は、前述の2つの方法がうまくいかなかった場合にのみ行ってください。
また、この動画をご覧いただければ、VMware環境で最も役立つコマンドを知ることができます:
その他の便利なESXiシェルコマンド
ESXCLI コマンドの他にも、ESXi シェルコマンドを数多く利用できます:
- コンソールからESXi DCUIを開きます(SSH経由でESXiシェルに接続した場合は、表示色が異なります):
dcui
報道
Ctrl+Cコマンドプロンプトに戻るには。 - 以下の手順に従って、厚プロビジョニングされた仮想ディスクを薄プロビジョニングされた仮想ディスクに変換します。
vmkfstools:vmkfstools -i /vmfs/volumes/vmfs_datastore/vm_name/thick_disk.vmdk -d thin /vmfs/volumes/vmfs_datastore/vm_name/new_thin_disk_name.vmdkESXiのシェルコマンドの中でも、
vmkfstoolsこれは、ストレージ操作の実行や、ストレージデバイス、VMFSボリューム、仮想ディスクの管理を行うための強力なコマンドです。シックプロビジョニングやシンプロビジョニング、および仮想ディスクの縮小については、 ブログ記事. - ESXiのタスクマネージャーを開きます:
esxtop[キー] を使ってタスクマネージャーを開いた後、
esxtopコマンドを使用すると、適切なキーを押すことでタブを切り替えることができます:C - CPUI – interruptM – memoryN – networkD – disk adapterU – disk deviceV – disk VMP – power management - 現在のディレクトリからファイルを探す:
find . -name filename.txt - を置き換えてください
.ファイルを探したいディレクトリの名前を指定し、filename.txtファイル名を入力してください。たとえば、diskname.vmdkファイルは/vmfs/volumes/ディレクトリで、次のコマンドを実行します:find /vmfs/volumes/ -name diskname.vmdk - 対話型VMwareコンソールを開きます:
vsish - 読み込まれたvmkernelドライバを表示:
vmkload_mod --list - スワップパーティションの設定を確認してください:
esxcli sched swap system get - 以下のコマンドのいずれかを使用して、ユーザー一覧を表示できます:
esxcli system account listcat /etc/passwd or less/etc/passwd
- 以下の場所に、すべてのESXiコマンドが表示されます。
sbinディレクトリ:ls /usr/sbin
新しいユーザーの作成
ESXiのシェルコマンドを使用して新しいESXiユーザーを作成するには、少なくとも2つの方法があります。
ESXiのadduserコマンド
- もし
adduserESXiコンソールでこのコマンドを実行すると、次のようなメッセージが表示されます:-sh: adduser: not found - このコマンドを実行するには、該当するbusyboxバイナリへのフルパスを指定する必要があります:
/usr/lib/vmware/busybox/bin/busybox adduserこれで、このコマンドの使用方法を確認できます。
- 最後に、ESXiのシステムユーザーを追加するための正確なコマンドを実行します:
/usr/lib/vmware/busybox/bin/busybox adduser -s /bin/sh -G root -h / user1場所:
-s /bin/shユーザーログイン後に使用されるシェルです;-G root– 新規ユーザーをメンバーとするグループ名(ルートグループ);-h /は、新しいユーザーのホームディレクトリ(ルートディレクトリ)です;user1がユーザー名です。 - プロンプトが表示されたら、新しいパスワードを入力し、確認のためもう一度入力してください。

ESXCLI でユーザーを作成する
あるいは、ESXCLI を使用すれば、たった1つのコマンドで新しいユーザーを追加することもできます:
esxcli system account add -d="NAKIVO user" -i="nakivo" -p="Password-Test321" -c="Password-Test321"
場所:
-d 表示されている説明を意味する
-p 新しいユーザーにパスワードは設定されていますか
-c パスワードの確認は
です。コマンドラインで新しいユーザーを作成するには、どの方法を選べばよいでしょうか?2番目の方法で使用される単一のコマンドは便利に見えるかもしれませんが、セキュリティの観点からはそうではありません。ご記憶の通り、ESXiシェルにログインした直後に警告メッセージが表示されていました:
ESXiシェルで実行されるすべてのコマンドはログに記録され、サポートバンドルに含まれる場合があります。コマンドライン上でパスワードを直接指定しないでください。ほとんどのツールでは、秘密情報をプロンプトで入力するか、標準入力から受け入れることができます。.
セキュリティが懸念される場合は、コマンド内にパスワードを平文で含めないようにしてください。パスワードが必要な場合は、通常プロンプトが表示されるため、標準のコンソール入力で入力できます。たとえば、ESXCLI を使用して新しいユーザーを作成する場合は、次のようなコマンドを使用します:
esxcli system account add -d="user2" -i="user2" -p -c
ある ESXiのパスワード パスワードの入力中は、コンソールには表示されず、別途プロンプトが表示されます。

結論
システムコンポーネント、ネットワーク、ストレージ、VIBソフトウェア、および仮想マシンを管理するためのVMwareコンソールコマンドが用意されています。ESXiのコマンドラインインターフェースを使用することで、VMware vSphere ClientやVMware Host Clientの優れたグラフィカルユーザーインターフェースに加え、さらに強力な機能を活用できます。
GUIでは表示されない、または利用できない設定を確認・構成するには、ローカルでESXiシェルコマンドを、リモートでESXi SSHコマンドを使用できます。 このブログ記事で紹介されているESXiコマンド一覧を活用してESXiを微調整し、VMware vSphereのコマンドラインインターフェースがもたらすさらなるパワーを体験してください。
詳細については、以下の記事をご覧ください。 PowerCLI、Windows から VMware vSphere を管理するための別の種類のコマンドラインインターフェース PowerShell.