【PowerCLI】デフォルトTCP/IPスタックの設定(ホスト名・ドメイン名など)

どうも、Tです。

PowerCLIからデフォルトTCP/IPスタックの設定について調べました。

やりたいこと

PowerCLIでこの辺りの設定を変更したい。

PowerCLIで行う場合。「ホスト名・ドメイン」「DNSサーバー」「ドメイン検索」異なるコマンドになります。また、PowerCLIから直接設定できないためPowerCLIからESXCLIコマンドを実行して設定します。

PowerCLIからESXCLIコマンドの準備

形式

$esxcli = Get-VMHost $ESXiホスト名もしくはIP | Get-EsxCli -v2

サンプル

$esxcli = Get-VMHost testesxi004.testdev.lab | Get-EsxCli -v2
Get-EsxCliは、V1とV2があり現在はV2が推奨のようです。V1とV2でPowerCLIからのコマンドの使い方が異なります。本記事ではV2前提で記載しています。

V2の場合設定値の指定の方法はハッシュ―テーブルによる設定です。

ハッシュテーブルについて知りたかったことのすべて - PowerShell
ハッシュテーブルは PowerShell で非常に重要であるため、十分に理解しておくことをお勧めします。

指定できる項目は、「 $esxcli.system.hostname.set.help()」などコマンドに.help()をつけることで確認できます。

設定(ホスト名・ドメイン)

設定

形式

$esxcli.system.hostname.set.invoke(@{domain=$ドメイン名;host=$ホスト名})

サンプル

$esxcli.system.hostname.set.invoke(@{domain='testdev.lab';host='testesxi004'})

確認

形式

$esxcli.system.hostname.get.invoke()

設定(DNSサーバー)

設定

形式

$esxcli.network.ip.dns.server.add.invoke(@{server=$DNSサーバーのIPアドレス})

サンプル

#プライマリ
$esxcli.network.ip.dns.server.add.invoke(@{server='192.168.10.132'})
#セカンダリ
$esxcli.network.ip.dns.server.add.invoke(@{server='192.168.10.137'})

2台一括設定はできなさそうなので、2回コマンドを実行する。あとで実行したほうがセカンダリDNSに設定される。

確認

形式

$esxcli.network.ip.dns.server.list.invoke()

設定(ドメインの検索)

設定

形式

$esxcli.network.ip.dns.search.add.invoke(@{domain=$ドメイン名})

サンプル

$esxcli.network.ip.dns.search.add.invoke(@{domain='testdev.lab'})

確認

形式

$esxcli.network.ip.dns.search.list.invoke()

まとめ

esxcliコマンドを使うダスト少々