コマンドラインまたはレジストリ編集を使用して特定のアダプタのプロトコルを無効/有効にする方法

コマンドラインまたはレジストリ編集を使用して特定のアダプタのプロトコルを無効/有効にする方法

プロパティ ウィンドウのビュー。

特定のネットワーク アダプタの特定のネットワーク プロトコルの無効化を自動化する方法を見つける必要があります。特定のネットワーク アダプタのプロパティ ウィンドウからウィンドウを開いて、「インターネット プロトコル バージョン 6 (TCP/IPv6)」などのさまざまなプロトコルのチェックを外すことができることはわかっていますが、プロセスを自動化できるように、コマンド ラインまたはレジストリ経由でそれを実行する方法を見つける必要があります。何かアイデアはありますか? - ありがとうございます!

答え1

これは PowerShell を使用すると簡単に実行できます。現在のところ、PowerShell Core エディションではこれらのコマンドが適切にサポートされていないため、次のコマンドは Windows に組み込まれている PowerShell で最も適切に機能します。

使用Get-NetAdapterシステム上のネットワーク アダプターを一覧表示します。

使用Get-NetAdapterBinding-Name "MyAdapter" -AllBindingsネットワーク アダプタ上のバインドを一覧表示します。

使用Set-NetAdapterBinding-Name "MyAdapter" -ComponentID ms_tcpip -Enabled $Trueコンポーネント名によってバインディングを有効または無効にします。

-?詳細なオプションについては、リンクされたドキュメントを参照するか、フラグを使用してコマンドを実行してください。

答え2

私は仕事で使用するスクリプトのいくつかに対してこれを行ないました。

常に、多数のアダプタが登録されており、一部はループバックしています。主な問題は、ターゲットとする正しいアダプタを検出し、残りをフィルタリングすることです。また、ユーティリティ netsh によって行われた変更は、再起動が完了するまで wmi インターフェイスに反映されない場合があることにも注意してください。

Win32_NetworkAdapterConfiguration の WMI メンバー関数を調べるか、netsh を使用することをお勧めします。

OS については言及されていないので、Windows のことを指していると思います。Powershell をお勧めします。これは Windows 7 以降にバンドルされており、以前のシステムにもインストールできます。また、dotnet 関数 API へのアクセスも可能になります。

答え3

私は 2016 年のサーバーで試していたのですが、@M.Dundley が提供した行を変更する必要がありました。もちろん、彼の回答がなければ、自分のサーバーを構築することができませんでした。

次の行をtbimdsa例として使用しました:

disable-NetAdapterbinding -name "MyAdapter" -ComponentID tbimdsa

また、 を使用して証明しましたenable-NetAdapterbinding。ただし、すべてのバインディングまたはプロパティで機能するわけではないことに注意してください。

関連情報