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), 次のページへ
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 Webブラウザで。
- [移動]
Hosts and Clustersそして、ESXiホストを選択してください。 - [選択]
Configureタブ、開くSystem>Services, そして、クリックしてSSHサービス一覧の中で。 - ヒット
StartSSHサーバーを1回起動するか、または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.221where 192.168.101.221 は、この例で使用しているESXiサーバーのIPアドレスです。
- ESXiユーザーのユーザー名とパスワードを入力する必要があります(
root(ESXi では、デフォルトの管理ユーザーとして使用できます)。
同様に、コマンドラインからSSHを介して、あるESXiホストから別の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 “namespace”では、インストール済みのデバイスに関する詳細情報を確認できます。
- インストール済みの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 - VMのネットワーク情報を表示する:
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.50026b7267020435where
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 インストールバンドル)として配布されます。 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を使用すると便利です。
- の出力に表示されるワールドIDを使用して、VMをシャットダウンします。
esxcli vm process listコマンド。この例では、必要なVMのワールド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のパスワード パスワードの入力中は、別途プロンプトが表示され、コンソールには表示されません。

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