次のコマンドを使用して、Hyper-V(Hyper-V 2012)ノードからIPアドレスを取得しようとしました。
Get-VM | select -ExpandProperty networkadapters | select vmname, ipaddress
問題は、一部のVMが持っているパブリックIPアドレスではなく、割り当てられたプライベートIPアドレスのみを出力として取得することです。なぜ私がこの問題を抱えているのか考えていますか?
また、VM設定で持っているものと同じ出力とVLANIDを取り込む方法はありますか?特定のVM iからVLANを取得するにはこれでそれを行うことができます
Get-VM 'Name of the VM' | Get-VMNetworkAdapterVlan | select AccessVlanId
これらはすべてHyper-V2012にあり、Hyper-V 2008R2にもこれが必要です。そのため、コマンドにいくつかの変更が必要になる場合があります。
Hyper-V 2012をテストできるようになっていないので、少なくとも質問のPowerShellの部分に対処できます。
Get-VM | select -ExpandProperty networkadapters |
Foreach-Object {
$_ | AddMember -MemberType NoteProperty -Name VLAN -PassThru
-Value ($_ | Get-VMNetworkAdapterVlan).AccessVlanID
} | ft vmname, ipaddress, vlan
ここにリンクを挿入するのは嫌ですが、Hyper-V2008R2用のJamesO'neilsPowerShellライブラリを調べる必要があります。時間を節約できます。