【 Set-NetAdapterAdvancedProperty 】コマンドレット――コンピュータのネットワークアダプターの詳細設定値を変更するWindows PowerShell基本Tips(61)

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

» 2023年02月16日 05時00分 公開
[後藤諭史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、コンピュータに接続されたネットワークアダプターの詳細設定の値を変更する「Set-NetAdapterAdvancedProperty」コマンドレットです。

Set-NetAdapterAdvancedPropertyコマンドレットとは?

 サーバなどに使用される高機能なネットワークアダプターは、ハードウェアに依存する機能をはじめとする多くのチューニング可能な詳細設定を持つと本連載第60回でも紹介しました。「Set-NetAdapterAdvancedProperty」は、この詳細設定値を設定するためのコマンドレットです。

 設定値はGUIからでも変更可能ですが、パラメーターチューニングでの設定ミスを防ぐ意味でもスクリプトによる自動設定は有用であり、本コマンドレットは意味があると考えます。

Set-NetAdapterAdvancedPropertyコマンドレットの書式

Set-NetAdapterAdvancedProperty [オプション]


Set-NetAdapterAdvancedPropertyコマンドレットの主なオプション

オプション 意味
-Name 設定を変更したいネットワークアダプター名を指定。省略可能
-DisplayName 設定を変更したい詳細設定の表示名を指定。省略可能
-DisplayValue 設定値を指定。省略可能


Set-NetAdapterAdvancedPropertyコマンドレット実行時の注意

 詳細設定を変更するSet-NetAdapterAdvancedPropertyコマンドレットですが、必須パラメーターが存在しないため、オプションを指定せずに実行したり、設定値(DisplayValue)のみを指定して実行したりすることが可能です。

 本コマンドレットをオプションを指定せずに実行した場合は、エラー表示のみで終了してしまいます(画面1)。

コマンドレット実行例

Set-NetAdapterAdvancedProperty

画面1 画面1 オプションを指定せずに実行した場合、エラー表示のみで終了する

 また、設定値(DisplayValue)のみを指定して実行した場合は、全ての詳細設定値での設定が試みられ、指定した設定値が設定可能な詳細設定値が存在した場合には全て適用されてしまうので注意が必要です(画面2)。

コマンドレット実行例

Set-NetAdapterAdvancedProperty  -DisplayValue <設定値>

画面2 画面2 設定値(DisplayValue)のみを指定して実行した場合、全ての詳細設定値に適用を試みる

 なお、詳細設定値を初期値に戻したい場合には、「Reset-NetAdapterAdvancedProperty」コマンドレットを実行します(画面3)。「-DisplayName」には詳細設定の表示名を指定しますが、ワイルドカード(*)も指定可能です。

コマンドレット実行例

Reset-NetAdapterAdvancedProperty -DisplayName <詳細設定の表示名>

画面3 画面3 Reset-NetAdapterAdvancedPropertyコマンドレットで全ての詳細設定値を初期値に戻した


フレームサイズを9018Bytesに設定する

 イーサネットのフレームサイズを「9018Bytes」に設定する、いわゆる「ジャンボフレーム」の設定は「netsh」コマンドによる設定方法が知られていますが、ネットワークアダプターの詳細設定でフレームサイズの設定値が存在する場合はSet-NetAdapterAdvancedPropertyコマンドレットでも設定可能です。

 まずは、本連載第60回で紹介した「Get-NetAdapterAdvancedProperty」コマンドレットでジャンボフレームの設定値が存在するかどうかを確認します。

 今回設定を行うネットワークアダプターには「Jumbo Packet」という表示名の詳細設定値を持ち、「Disabled」「4088 Bytes」「9014 Bytes」の3つが設定可能であることが分かっています。今回設定を行ったネットワークアダプターは設定値上FCS(フレームチェックシーケンス)を含まない値を指定するため、9018Bytesのフレームサイズ(MTUサイズ9000Bytes)とする場合には、「9014 Bytes」を指定します(画面4)。

コマンドレット実行例

Set-NetAdapterAdvancedProperty -Name <ネットワークアダプター名> -DisplayName <詳細設定の表示名> -DisplayValues <設定値>

画面4 画面4 ネットワークアダプター「Ethernet 2」のJumbo Packetの値を「9014 Bytes」に設定した

 上記実行例では、Set-NetAdapterAdvancedPropertyコマンドレット実行前後にnetshコマンドで当該ネットワークアダプターのMTUサイズを確認していますが、コマンドレット実行前には「1500 Bytes」だったMTUサイズが「9000 Bytes」に変更されていることが分かります。

 netshコマンドで表示されるMTUサイズは、イーサネットフレームのヘッダ(14Bytes)やFCS(4Bytes)を除いた値で表示されるため、今回のネットワークアダプターの仕様を加味してフレームサイズが「9018 Bytes」に変更されたことが確認できます。



ワイルドカードを用いて設定を変更する

 「Large Send Offload V2(IPv4)」と「Large Send Offload V2(IPv6)」の両方といった、共通の文字列を持つ複数の詳細設定値を全て同じ値に変更したいという場合には、ワイルドカード(*)を用いることで1回のコマンドレット実行で完了させることができます。コマンドレットのオプションは前項のコマンドと同じものになりますが、「-DisplayName」でワイルドカードを使用しています(-DisplayName Large Send Offload*)(画面5)。

画面5 画面5 「-DisplayName」オプションで「Large Send Offload*」という形でワイルドカードを使用した

 コマンドレット実行前後のGet-NetAdapterAdvancedPropertyコマンドレットの実行結果から、ワイルドカードで 設定変更できていることが確認できます。

筆者紹介

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

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


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。