クラスタ内に多数のホストを備えたESXi5.1があります。アクティブなNICとそのIPアドレスのリストを生成したいと思います。そのようなリストを生成するための最も簡単なツールは何ですか?
*仮想ハードウェアではなく、物理ネットワークハードウェアのみを探しています。
VMware vSpherePowerCLIを使用します。
これには、vSphere管理を自動化するためのMicrosoftPowerShellに基づくコマンドレットのスナップインが含まれています。
ここからダウンロードできます https://my.vmware.com/web/vmware/details?downloadGroup=PCLI550&productId=35
以下に、必要な情報を取得するために作成したPowerShellスクリプトのサンプルを示します。
主なポイントは:
Get-VMHost
with -Location
特定のクラスターをクエリするパラメーター(複数あり、クエリを1つだけに制限したい場合、それが私の場合)Get-VMHostNetworkAdapter
with -Physical
パラメータで物理NICのみを取得します。$myVCenter = "vcenter.dom" #fqdn or ip of the VCenter Server
$myClusterName = "PROD" #Name of the ESXi cluster
$user = "username"
$pass = "password"
Connect-VIServer "$myVCenter" -User $user -Password "$pass"
$myvmhosts = Get-VMHost -Location $myClusterName | select Name
foreach($myvmhost in $myvmhosts)
{
Get-VMHostNetworkAdapter -Physical -VMHost $myvmhost.Name | select VMhost, Name, Mac, IP | format-table -autosize | Out-String
}
この出力を生成します:
VMHost Name Mac IP
------ ---- --- --
esxsrv1 vmnic0 d4:ae:52:9e:7f:ad
esxsrv1 vmnic1 d4:ae:52:9e:7f:af
esxsrv1 vmnic2 d4:ae:52:9e:7f:b1
esxsrv1 vmnic3 d4:ae:52:9e:7f:b3
esxsrv1 vmnic4 00:10:18:e4:80:24
esxsrv1 vmnic5 00:10:18:e4:80:25
esxsrv1 vmnic6 00:10:18:dc:12:e0
esxsrv1 vmnic7 00:10:18:dc:12:e2
VMHost Name Mac IP
------ ---- --- --
esxsrv2 vmnic0 d4:ae:52:98:29:6e
esxsrv2 vmnic1 d4:ae:52:98:29:70
esxsrv2 vmnic2 d4:ae:52:98:29:72
esxsrv2 vmnic3 d4:ae:52:98:29:74
esxsrv2 vmnic4 00:10:18:e4:86:6e
esxsrv2 vmnic5 00:10:18:e4:86:6f
esxsrv2 vmnic6 00:10:18:dc:20:20
esxsrv2 vmnic7 00:10:18:dc:20:22
クラスタ内の各ESXiサーバーについても同様です...
私のVMWareアーキテクチャでは、物理NICにIPがありませんが、IPがある場合は、それらが表示されます。
もう1つの便利なツールは RVTools です。スクリプトを書く必要はありません。ツールをインストールし、起動してログインすると、フィルターとエクスポートの可能性を含むすべての情報が得られます。
PowerCLIをロードし、
Vcenterサーバーに接続します。
Connect-VIServer <servername>
次に実行します
Get-VMHostNetworkAdapter
そして、すべてのNICとそのIPアドレスのリストが一覧表示されます。
CSVにエクスポートするには
Get-VMHostAdapter | Export-Csv C:\list.csv