Netsh コマンドの構文、コンテキスト、形式
Windows Server 2022、Windows Server 2019、Windows Server 2016、Azure Stack HCI の 21H2 と 20H2 バージョンに適用します
このトピックでは、netsh コンテキストとサブコンテキストを入力する方法、netsh 構文とコマンドの書式について、ローカル コンピューターとリモート コンピューターで netsh コマンドを実行する方法について説明します。
netsh は、現在実行中のコンピューターのネットワーク構成を表示したり変更したりするためのコマンド ライン スクリプト ユーティリティです。 netsh コマンドは、netsh プロンプトでコマンドを入力することで実行し、バッチ ファイルまたはスクリプトで使用できます。 リモート コンピューターとローカル コンピューターは、netsh コマンドを使用して構成できます。
また、指定したコンピューターに対して一連のコマンドをバッチ モードで実行できるスクリプト機能も備えています。 netsh では、構成スクリプトをテキスト ファイルに保存して、アーカイブとして保管したり、他のコンピューターの構成に利用したりできます。
netsh コンテキスト
netsh は、ダイナミックリンク ライブラリ (DLL) ファイルを使って、他のオペレーティング システムのコンポーネントと相互に作用します。
各 netsh ヘルパー DLL には、ネットワーク サーバーの役割または機能に固有のコマンドのグループである "コンテキスト" と呼ばれるさまざまな機能のセットが用意されています。 これらのコンテキストにより、1 つ以上のサービス、ユーティリティ、またはプロトコルの構成と監視のサポートが提供されるため、netsh の機能が拡張されます。 たとえば、Dhcpmon.dll では netsh に DHCP サーバーを構成して管理するために必要なコンテキストとコマンドのセットが提供されます。
コンテキストの一覧を取得する
netsh コンテキストの一覧を取得するには、Windows Server 2016 または Windows 10 を実行しているコンピューターでコマンド プロンプトまたは Windows PowerShell を開きます。 コマンド [netsh] を入力し、Enter キーを押します。 「 /? 」と入力し、Enter キーを押します。
Windows Server 2016 Datacenter を実行しているコンピューターでのこれらのコマンドの出力例を次に示します。
PS C:\Windows\system32> netsh netsh>/? The following commands are available: Commands in this context: .. - Goes up one context level. ? - Displays a list of commands. abort - Discards changes made while in offline mode. add - Adds a configuration entry to a list of entries. advfirewall - Changes to the `netsh advfirewall' context. alias - Adds an alias. branchcache - Changes to the `netsh branchcache' context. bridge - Changes to the `netsh bridge' context. bye - Exits the program. commit - Commits changes made while in offline mode. delete - Deletes a configuration entry from a list of entries. dhcpclient - Changes to the `netsh dhcpclient' context. dnsclient - Changes to the `netsh dnsclient' context. dump - Displays a configuration script. exec - Runs a script file. exit - Exits the program. firewall - Changes to the `netsh firewall' context. help - Displays a list of commands. http - Changes to the `netsh http' context. interface - Changes to the `netsh interface' context. ipsec - Changes to the `netsh ipsec' context. ipsecdosprotection - Changes to the `netsh ipsecdosprotection' context. lan - Changes to the `netsh lan' context. namespace - Changes to the `netsh namespace' context. netio - Changes to the `netsh netio' context. offline - Sets the current mode to offline. online - Sets the current mode to online. popd - Pops a context from the stack. pushd - Pushes current context on stack. quit - Exits the program. ras - Changes to the `netsh ras' context. rpc - Changes to the `netsh rpc' context. set - Updates configuration settings. show - Displays information. trace - Changes to the `netsh trace' context. unalias - Deletes an alias. wfp - Changes to the `netsh wfp' context. winhttp - Changes to the `netsh winhttp' context. winsock - Changes to the `netsh winsock' context. The following sub-contexts are available: advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec ipsecdosprotection lan namespace netio ras rpc trace wfp winhttp winsock To view help for a command, type the command, followed by a space, and then type ?.
サブコンテキスト
netsh コンテキストには、コマンドと、"サブコンテキスト" と呼ばれる追加のコンテキストの両方を含めることができます。 たとえば、ルーティング コンテキスト内では、IP および IPv6 サブコンテキストに変更できます。
コンテキスト内で使用できるコマンドとサブコンテキストの一覧を表示するには、netsh プロンプトでコンテキスト名を入力し、それから [/?] または [help] と入力してください。 たとえば、ルーティング コンテキストで使えるサブコンテキストとコマンドの一覧を表示するには、netsh プロンプト (つまり、netsh) で、次のいずれかを入力します:
routing /?
routing help
現在のコンテキストから変更せずに別のコンテキストでタスクを実行するには、netsh プロンプトで使用するコマンドのコンテキスト パスを入力します。 たとえば、IGMP コンテキストに最初に変更を加えることなく、IGMP コンテキストに "Local Area Connection" という名前のインターフェイスを追加するには、netsh プロンプトで次のように入力します。
routing ip igmp add interface "Local Area Connection" startupqueryinterval=21
netsh コマンドの実行
netsh コマンドを実行するには、「netsh」と入力し、Enter キーを押して、コマンド プロンプトから netsh を起動する必要があります。 次に、使用するコマンドが含まれているコンテキストに変更できます。 使用できるコンテキストは、インストールしたネットワーク コンポーネントによって異なります。 たとえば、netsh プロンプトで「dhcp」と入力し、Enter キーを押すと、netsh が DHCP サーバーのコンテキストに変わります。 ただし、DHCP がインストールされていない場合は、次のメッセージが表示されます。
次のコマンドは見つかりませんでした: dhcp
表記規則
次の表記規則を使って、netsh プロンプトで、またはバッチ ファイルまたはスクリプトでコマンドを実行するときに、正しい netsh コマンド構文を解釈して使えます。
- "イタリック" のテキストは、コマンドの入力時に指定する必要がある情報です。 たとえば、コマンドに -UserName という名前のパラメーターがある場合、実際のユーザー名を入力する必要があります。
- 太字のテキストは、コマンドの入力時に表示されるとおりに入力する必要がある情報です。
- 省略記号 (...) を伴うテキストは、1 行のコマンド ラインの中で複数回繰り返すことができるパラメーターです。
- 角かっこ [ ] の間にあるテキストはオプションの項目です。
- 中かっこ { } に囲まれて、パイプで区切られた選択肢を持つテキストに対しては、たとえば
{enable|disable}
のように、選択肢から 1 つのみを選ぶ必要があります。 - 等幅フォントで書式設定されたテキストは、コードまたはプログラムの出力です。
コマンド プロンプトまたは Windows PowerShell からの netsh コマンドの実行
ネットワーク シェルを起動し、コマンド プロンプトまたは Windows PowerShell で netsh を入力するには、次のコマンドを使用します。
netsh
netsh は、実行中のコンピューターのネットワーク構成をローカルまたはリモートで表示または変更することができるようにするコマンド ライン スクリプト ユーティリティです。 netsh はパラメーター無しで使われると、Netsh.exe コマンド プロンプト (つまり、netsh) が開きます。
構文
netsh[ -aエイリアス ファイル名] [ -cコンテキスト ] [ -rリモート コンピュータ名] [ -u [ドメイン名 \ ] ユーザー名 ] [ -pパスワード | *] [{コマンド | -fスクリプト ファイル名}]
パラメーター
-a
任意。 AliasFile を実行した後に netsh プロンプトに戻ることを指定します。
AliasFile
任意。 netsh コマンドを 1 つ以上含むテキスト ファイルの名前を指定します。
-c
任意。 指定された netsh コンテキストが netsh によって入力されることを指定します。
Context
任意。 入力する netsh コンテキストを指定します。
-r
任意。 コマンドをリモート コンピューターで実行することを指定します。
重要
netsh – r パラメーターを使用して別のコンピューターで一部の netsh コマンドをリモートで使用する場合は、リモート コンピューターでリモート レジストリ サービスが実行されている必要があります。 実行されていない場合は、"ネットワーク パスが見つかりません" というエラー メッセージが表示されます。
RemoteComputer
任意。 構成するリモート コンピューターを指定します。
-u
任意。 ユーザー アカウントで netsh コマンドを実行することを指定します。
DomainName\\
任意。 ユーザー アカウントが存在するドメインを指定します。 DomainName\ が指定されていない場合、既定値はローカル ドメインです。
UserName
任意。 ユーザー アカウント名を指定します。
-p
任意。 ユーザー アカウントのパスワードを指定することを指定します。
Password
任意。 -uUserName で指定したユーザー アカウントのためのパスワードを指定します。
NetshCommand
任意。 実行する netsh コマンドを指定します。
-f
任意。 ScriptFile で指定したスクリプトを実行した後に netsh を終了します。
ScriptFile
任意。 実行するスクリプトを指定します。
/?
任意。 netsh プロンプトでヘルプを表示します。
Note
-r
を指定して別のコマンドを続けると、-r
によりコマンドがリモート コンピューターで実行され、その後 Cmd.exe コマンド プロンプトに戻ります。 別のコマンドを使用せずに -r
を指定すると、-r
がリモート モードで開きます。 このプロセスは set machine を netsh コマンド プロンプトで使用するのと似ています。 -r
を使用するときは、-r
の現在のインスタンスに対してのみターゲット コンピューターを設定します。 netsh を終了して再入力すると、ターゲット コンピューターがローカル コンピューターとして再設定されます。 WINS に格納されているコンピューター名、UNC 名、DNS サーバーによって解決されるインターネット名、または IP アドレスを指定することにより、リモート コンピューター上で netsh コマンドを実行できます。
netsh コマンドのパラメーター文字列値の入力
netsh コマンド リファレンス全体にわたって、文字列値が必要とされるパラメーターが含まれるコマンドがあります。
複数の単語で構成される文字列値など、文字列値の文字間にスペースが含まれている場合は、文字列値を引用符で囲む必要があります。 たとえば、文字列値が Wireless Network Connection の interface という名前のパラメーターの場合は、次のように文字列値を引用符で囲みます。
interface="Wireless Network Connection"