web-dev-qa-db-ja.com

「netsh int ip reset」は他に何をしますか?

これによると 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つのレジストリキーの内容はわかりません。

  • システムに問題が発生したときにVMバックアップを作成します。
  • VMを起動し、「netsh int ip reset」コマンドを実行します
  • 2つのレジストリキーをエクスポートする
  • 「netsh int ip reset」コマンドの前に作成されたバックアップにロールバックします
  • 保存されたレジストリキーをインポートする
  • ネットワークインターフェースに静的IPを設定しましたが、BSODが表示されます

アプリケーションが、過去に別のネットワークインターフェイスですでに使用されていた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」は他に何をして、テストシステムの問題を修正しますか?

3
Chris

同じKB記事で、コマンドを実行するとresetlog.txtログファイルが保存されると説明されています。そのログは何と言っていますか?

SysInternalsからProcess Monitorを実行して、netshコマンドを監視させることもできます。

私はWindows 8.1ワークステーションでこれを行い、ProcMonの出力を「プロセス名>含む> netsh」でフィルタリングし、5,000以上の結果を取得しました。このコマンドを実行すると、LOTが進行しているようです。すみませんが、その出力をすべて解析するつもりはありません:)

1
Thomas