PowerCLI by VMWareは、ESXiサポートされているハードウェアのハイパーバイザー仮想化管理者のためのユビキタスインターフェー PowerShellとPowerCLIを使用してVMwareを管理する方法を学ぶことは、ツールキットに強力に追加されます。 このPowerCLIチュートリアルでは、それを行う方法を学びます。
このチュートリアルでは、次のことを学習します。
:
- PowerCLIを使用してVMwareインフラストラクチャに接続するための基本
- VMwareオブジェクトを操作するためのコマンドレットに慣れる
- 探索する知識
目次
あなたが持っていると知っておく必要があるもの
このPowerCLIチュートリアルであまりにも遠くに取得する前に、 この記事では、私はそれを仮定するつもりです:あなたは基本的なPowerShellの経験を持っています。 PowerShellの専門家である必要はありませんが、PowerShellに精通していることがあれば、うまく機能します。
- に接続してテストするためのVMware ESXiホストまたはvCenter applianceがあります
- Windows(またはMac/Linux)ワークステーションで作業しています
- PowerCLIが既にインストールされていて、接続されています。 そうでない場合は、このPowerCLIインストールの記事をチェックしてください。 私はPowerCLI v11.4.0を使用します。 私はWindows PowerShell5を使用してWindows10ワークステーションから作業します。1、しかし、あなたはこのチュートリアルのための機能パリティがあるので、代わりにPowerShell6を使用することを歓迎しています。PowerCLIを使用してESXiホストに関する情報を収集する
vSphere環境の仮想レイヤーに入る前に、物理ハードウェアレイヤーを確認することをお勧めします。 VMware PowerCLIは、この目的のために
Get-VMHost
という詳細な情報を収集するためのコマンドレットを直接提供しています。vCenter serverまたはESXiホストに接続している間に、次のコマンドレットを実行します。p>
PS51> Get-VMHost
私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続しているので、私はvCenter Server Applianceに接続している。二つの別々のesxiホストを管理している、私は管理されているホストに関するいくつかの基本的な情報を提供しています。
Get-VMHost
Get-VMHost
はすべての情報を返すわけではありません。Get-VMHost
Format-List
にパイプすると、指定されたホストに関するすべての情報のコンソール出力が得られます。 P>または、より選択しやすくすることができます次のように作業しているvmhostオブジェクトの個々のプロパティ:
PS51> Get-VMHost | format-list -Property State,LicenseKey,Version
このより冗長な出力を活用すると、仮想化されたワークロードを実行する基礎となるハードウェアのより大きなビューが提供されます。 いくつかの情報は、特に次のようになります。
- License validation info
- CPU/Memory totals
- Hardware vendor model
- DNS hostname
レビュー後、これはおそらく
Export-CSV
コマンドレットを使用してCSVファPowercliを使用したVmの検査
ここで、仮想ホストを確認することによって、このPowerCLIチュートリアルの別のトピックに飛び込むことは、特定のESXiホスP>
Get-VM
コマンドは、VM情報を確認するために使用できる便利なコマンドです。PS51> Get-VMHost -Name <Host FQDN> | Get-VM
このコマンドレットの出力は次のようになります:P>
上記の出力は、特定のホスト上で現在実行中のvmの完全なステータスリストを提供します。 上記で行ったように、個々のホストを指定しないことを選択した場合は、後続の各ホストとそれぞれのVmに関する情報のテーブルが表示されます。
問題のトラブルシューティングを行い、特定のホスト上の仮想マシンの数を知る必要がある場合、またはVMware PowerCLIを使用してESXiホスト情報を収集する必 あなたの指先で持っているレポート機能が拡大し始めています!
PowerCLIを使用した仮想スイッチの検査
vCenterクラスタの仮想ネットワークの構成または管理を担当している人のために、あらゆるユースケースに対 VSphere環境で構成された仮想スイッチを表示する場合は、次のものを使用します。
PS51> Get-VirtualSwitch
仮想ネットワークと仮想スイッチの数によっては、結果のリストが非常に大きくなることがあります。 私の場合、以下に示すように、分散仮想スイッチである単一のDSwitchがあります。
クラスタ内に多数のESXiホストが存在するエンタープライズvSphere実装では、Dswitchは同じ構成の多数のホスト間で仮想スイッチとポートグループの展開を簡 これにより、各ホストで同一のネットワーク構成を手動で作成する手間を省くことができ、クラスターを拡張するのに最適な方法です。
PowerCLIを使用して仮想ネットワークに接続されているVmを見つける
問題は、どのVMがどのネットワークに接続されているのか疑問に思うかもしれません。 それを理解するには、
Get-VirtualPortGroup
コマンドを使用できます。 このPowerCLIチュートリアルで、このコマンドレットについて学びましょう。ポートグループは基本的に仮想ネットワークです。 すべてのポートグループを表示するには、パラメーターを指定せずに
Get-VirtualPortGroup
を実行します。 その後、vSphere環境に存在するすべての仮想ポートグループのリストが表示されます。p>そのポートグループ(私の場合はDPortGroup)内のすべてのVmを見つけるには、以下のスクリプトを実行 値DPortGroupを仮想ポートグループの名前に置き換えてください。
PS51> Get-VM | Where-Object { ($PSItem | Get-NetworkAdapter | where {$_.networkname -match "DPortgroup"})}
このワンライナーでは、このvCenter applianceに存在するすべての仮想マシンのリストを取得し、
Where-Object
コマンドレットを使用してフこの出力を使
VMwareの特定のネットワークに接続されているVmを見つけて分析するように求められた場合、この質問に対するPowerCLIレポートソリューションを提供する権限がPowerCLIを使用したVm上のOSバージョン情報の取得VMware内部の管理作業の大部分は、仮想マシンレベルで行われます。 Vm上のすべてのハードドライブサイズのリストを取得したり、すべてのサーバーのゲストOSバージョンを取得したりするなど、無数の要求を受ける可能性が
これらのタスクは大規模には面倒です。 PowerCLIは、あなたの武器に追加するいくつかの重要なコマンドレットでこれらを合理化することができますので、このPowerCLIチュートリアルでそれらをカバー
ある時点で、「VMwareクラスタにはいくつのUbuntuサーバーがありますか?”. その後、vCenterをクリックして答えを探すのにあまりにも多くの時間を費やした可能性があります。 PowerCLIは、vCenter内のVMオブジェクトを見て、出力にPowerShellの魔法を適用することで、このプロセスを合理化できます。
VM情報をまとめる次のスクリプトを見てみましょう。 このスニペットは
Get-View
コマンドを使用しますが、これは少し後で説明しますが、今のところ、VMwareオブジェクトプロパティを取得する高度な方法で この例では、このメソッドで最も簡単に取得できるネストされたプロパティを収集しています。PS51> Get-VM | Sort-Object -Property Name | Get-View -Property @("Name", "Config.GuestFullName", "Guest.GuestFullName") | Select-Object -Property Name, @{N="Configured OS";E={$_.Config.GuestFullName}}, @{N="Running OS";E={$_.Guest.GuestFullName}}
上記のコードは、PowerCLI
Get-VM
コマンドレットを使用して仮想マシンのリストを取得し、PowerShellSort-Object
コマンドレットを使用してリストをソートし、PowerCLIGet-View
コマンドレットを使用してオブジェクトプロパティの一部を取得しています。 私の環境でこれを実行すると、以下の結果が得られます。 VCenterでVMの名前、VMwareの仮想ハードウェアがゲストオペレーティングシステムを解釈するように設定されている方法であるConfigured OS
、実際のOSを表す実際のRunning OS
を見ることができます。Vm replicantとScriptrunnerがクラスターでパワーオフされていると、
vm replicantとScriptrunnerがクラスターでパワーオフされていると、
Vm replicantとScriptrunnerがクラスターでパワーオフされていると、
vm replicantとScriptrunnerがクラスターでパワーオフされていると、
Vm replicantとScriptrunnerがクラスターでパワーオフされていると、
Running OS
それらの値。 OSはVMware Toolsサービスによって収集されます。 使用できない場合、PowerCLIはオペレーティングシステム情報を取得できません。Vmware Toolsは、hypervisorの追加情報と管理機能を提供する、WindowsおよびLinux Vmの両方向けのゲスト内サービスです。 最も一般的には、クリーンシャットダウン、オペレーティングシステム情報、およびVmの高解像度のコンソール表示が提供されます。この情報を報告して提供する便利な方法は、上記のスクリプトを
Export-CSV
Export-Csv
は、コンソールに表示されるのと同じ情報を持つCSVファイルを作成します。上記のコードを実行した後、EXCELでCSVファイルを開いてレポートを確認できるようになります。P>PowerCLIで仮想ハードディスクを検査
PowerCLIで仮想ハードディスクを検査
Get-Harddisk
コマンドは知っておくべき別の便利なコマンドです。Get-HardDisk
コマンドレットを使用すると、Vmに接続されている仮想ハードディスクに関する情報を検査できます。たとえば、exchange1Vmに接続されている仮想ハードディスクに関する情報を照会するには、次のコマンドを実行します:
PS51> Get-VM -Name exchange1 | Get-HardDisk | Format-List