検索
連載

【 Get-VMNetworkAdapterAcl 】コマンドレット――Hyper-V仮想マシンの仮想ネットワークアダプターのACL設定を取得するWindows PowerShell基本Tips(144)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-VMNetworkAdapterAcl」コマンドレットを解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Hyper-V」の仮想マシンに接続された仮想ネットワークアダプターの「アクセス制御リスト」の設定を取得する「Get-VMNetworkAdapterAcl」コマンドレットです。

Get-VMNetworkAdapterAclコマンドレットとは?

 Hyper-Vの仮想スイッチはさまざまなネットワーク機能を仮想マシンに提供しており、仮想マシンに対する通信を制御する「アクセス制御リスト」(ACL)によるアクセス制御にも対応しています。

 ACLによるアクセス制御では、仮想マシンを送信元、もしくは送信先とする通信を確認し、あらかじめ指定された許可/不許可リストと照らし合わせて、仮想スイッチで不許可とされた通信をフィルタリングできます。

 物理ネットワークの世界では一般的な処理であり、仮想化されたスイッチでもその機能が提供されるのは自然な流れと言えるでしょう。

 このアクセス制御の処理は仮想スイッチで行われますが、ACLの設定は仮想ネットワークアダプターに対して行われます。

 Get-VMNetworkAdapterAclは、仮想マシンに接続されている仮想ネットワークアダプターのACL設定を取得するコマンドレットです。

 ACLはレイヤー2(データリンク層)やレイヤー3(ネットワーク層)といったMAC(Media Access Control)アドレスベース、IP(Internet Protocol)ベースでの指定が可能な「標準ACL」と、プロトコルや通信ポートといったレイヤー4(トランスポート層)で制御可能な「拡張ACL」の2種類がありますが、本コマンドレットは標準ACLの設定を確認できます。

 ACLの詳細については、別連載「今だからこそ学び直すHyper-V再入門」第10回「いまさら聞けないHyper-Vネットワークの詳細(3):仮想スイッチのQoS機能/アクセス制御機能」を参照してください。

【注】Get-VMNetworkAdapterAclコマンドレットは「Windows PowerShell用Hyper-Vモジュール」に含まれるコマンドレットになります。GUI(グラフィカルユーザーインタフェース)の「Windowsの機能の有効化」や「役割と機能の追加」からHyper-Vを有効化するか、PowerShellから「Enable-WindowsOptionalFeature」コマンドレットを使用して有効化します。


Get-VMNetworkAdapterAclコマンドレットの書式

Get-VMNetworkAdapterAcl [オプション]


Get-VMNetworkAdapterAclコマンドレットの主なオプション

オプション 意味
-VMName 仮想マシン名を指定する。省略可能
-VMNetworkAdapter リソースオブジェクトとして仮想ネットワークアダプターを指定する。省略可能
-VMNetworkAdapterName 仮想ネットワークアダプター名を指定する。省略可能
-ManagementOS ホストOS用の仮想ネットワークアダプターの設定を取得したい場合に指定する。省略可能
-ComputerName リモートのHyper-Vホストの仮想ネットワークアダプターのACL情報を取得する場合にコンピュータ名を指定する。省略可能

仮想マシンの仮想ネットワークアダプターのACL設定を取得する

 Get-VMNetworkAdapterAclコマンドレットは必須オプションがないため、オプション指定なしで実行した場合は、Hyper-Vホスト上にある全ての仮想ネットワークアダプターのACL設定を取得します(画面1)。なお、Get-VMNetworkAdapterAclコマンドレットは管理者権限での実行が必要となります。

コマンドレット実行例

Get-VMNetworkAdapterAcl

ALT
画面1 Hyper-Vホスト上にある全ての仮想ネットワークアダプターのACL設定を取得した

 仮想マシン名と仮想ネットワークアダプター名、そして設定されているアクセス制御内容、すなわち方向(Inbound/Outbound)とアドレス、アクション(Allow/Deny)が表示されます。

 単一の仮想マシンのACL設定に絞りたい場合には「-VMName」オプションを使用して、仮想マシン名を指定します(画面2)。

コマンドレット実行例

Get-VMNetworkAdapterAcl -VMName Test-VM02

ALT
画面2 「-VMName」オプションを使用して、仮想マシンを指定してACL設定を取得した

 さらに仮想ネットワークアダプターも絞り込みたい場合には「-VMNetworkAdapterName」オプションを使用します(画面3)。

コマンドレット実行例

Get-VMNetworkAdapterAcl -VMName Test-VM02 -VMNetworkAdapterName FrontNIC

ALT
画面3 「-VMNetworkAdapterName」オプションを使用して、仮想ネットワークアダプターを指定してACL設定を取得した

ホストOSが使用する仮想ネットワークアダプターのACL設定を取得する

 ホストOSが使用する仮想ネットワークアダプター、すなわちホストOSが仮想スイッチ経由で通信する際に使用される仮想ネットワークアダプターのACL設定を取得する場合は「-ManagementOS」オプションを使用します(画面4)。

コマンドレット実行例

Get-VMNetworkAdapterAcl -ManagementOS

ALT
画面4 「-ManagementOS」オプションを使用することでホストOSが使用する仮想ネットワークアダプターのACL設定を取得できる

筆者紹介

後藤 諭史(ごとう さとし)

株式会社ネットワールド所属。Microsoft MVP for Cloud and Datacenter Management(2012-2026)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る