これによると KB記事 "netsh int ip reset"コマンドを実行すると、2つのレジストリキーの内容をリセットするだけです。
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
SYSTEM\CurrentControlSet\Services\DHCP\Parameters\
しかし、私のテストシステムでは、それ以上の効果があるようです。
Windows Server 2012 R2 x64マシンで、アプリケーションに問題が発生した後、ネットワークインターフェイスに静的IPを設定しようとすると、インスタントBSODが表示されます。
この問題を解決するには、「netsh int ip reset」を実行する必要があります。その後、静的IPを設定できます。今、私は「netsh int ip reset」がどのように問題を解決するかを理解しようとしています。
仮想マシンで次のようにしたので、これら2つのレジストリキーの内容はわかりません。
アプリケーションが、過去に別のネットワークインターフェイスですでに使用されていたIPアドレスを使用してネットワークインターフェイスを構成しようとする場合、まず、存在しないデバイスのIP構成を削除してから、そのIPを使用できます。
これを行うには、SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacesのすべてのレジストリを検索し、「IPAddress」プロパティの値を希望のIPアドレスと比較することにより、インターフェイスが使用したいIPアドレスを使用しているかどうかを確認します。使用する。一致が見つかった場合、最初にそのインターフェイスがライブかどうかをチェックし、そうでない場合は、「IPAddress」プロパティの値を削除し、プロパティ「EnableDHCP」を1に設定すると、インターフェイスでそのIPを使用できます。これは私のアプリケーションが間違っていたものです。このインターフェースが再びライブに戻ると、DHCPを介してIP構成が設定されますが、静的IPを設定しようとするとBSODになります。これを行う正しい方法は、 "IPAddress"プロパティを "0.0.0.0"に設定し、 "EnableDHCP"を1に設定することです。 "IPAddress"を空のままにして "EnableDHCP"を1に設定すると、TCPIP構成で問題が発生します " netsh int ip reset "は..を修正します。 KB記事 が言及しているのは、2つのレジストリキーに含まれていないということだけです。
では、これら2つのレジストリの内容をリセットすることを除いて、「netsh int ip reset」は他に何をして、テストシステムの問題を修正しますか?
同じKB記事で、コマンドを実行するとresetlog.txtログファイルが保存されると説明されています。そのログは何と言っていますか?
SysInternalsからProcess Monitorを実行して、netshコマンドを監視させることもできます。
私はWindows 8.1ワークステーションでこれを行い、ProcMonの出力を「プロセス名>含む> netsh」でフィルタリングし、5,000以上の結果を取得しました。このコマンドを実行すると、LOTが進行しているようです。すみませんが、その出力をすべて解析するつもりはありません:)