web-dev-qa-db-ja.com

Powershellを使用してHyper-V2008R2ノードからIPアドレスとVLANIDを取得する方法

次のコマンドを使用して、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にもこれが必要です。そのため、コマンドにいくつかの変更が必要になる場合があります。

4
ankso

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
1
longneck

ここにリンクを挿入するのは嫌ですが、Hyper-V2008R2用のJamesO'neilsPowerShellライブラリを調べる必要があります。時間を節約できます。

pshyperv.codeplex.com

1
Trondh