web-dev-qa-db-ja.com

プログラムで/コマンドラインからネットワーク接続を「修復」する

ネットワーク接続で[修復]をクリックしたときにWindows XPが何をするかを正確に知っている人はいますか?プログラムまたはコマンドラインから同じことをしたいのですが。

グーグルで検索して この記事 を見つけました。これは良い説明がありますが、完全ではないと思います。ネットワーク接続が失われ、[修復]ボタンをクリックすると問題が解決する状態を確実に再現できますが、その記事のコマンドを実行しても問題は解決しません。

9
EMP

おかげで、みんな、私はそれを理解したと思います。 lpfavreauによって投稿されたMS KB記事 の手順はほぼ完了しています。それが私が試したもので、うまくいきませんでした。しかし、私がipconfig /release最初に、それはうまくいくようです。 「修復」ボタンは、明示的に文書化されていなくてもそれを行うのではないかと思います。私の特定のケースでは、ルートもクリアする必要がありました(「route-f」)。したがって、最終的に実行することになったコマンドは次のとおりです。

route -f
ipconfig /release
ipconfig /renew
arp -d *
nbtstat -R
nbtstat -RR
ipconfig /flushdns
ipconfig /registerdns

また、実際の「接続の修復」機能を呼び出すためのCコードもいくつか見つかりましたが、テストはしていません- ここの最後の投稿を参照

20
EMP

あと少し あるようです:

  • 動的ホスト構成プロトコル(DHCP)リースが更新されました:ipconfig/renew
  • アドレス解決プロトコル(ARP)キャッシュがフラッシュされます:arp -d
  • NetBIOSネームキャッシュのリロード:nbtstat -R
  • NetBIOS名の更新が送信されます:nbtstat -RR
  • ドメインネームシステム(DNS)キャッシュがフラッシュされます:ipconfig/flushdns
  • DNS名の登録:ipconfig/registerdns

ただし、接続が頻繁に切断されるため、プログラムでネットワークを修復する必要がある場合、これは探している解決策ではない可能性があります。

8
lpfavreau

コマンドラインからそれを行うコマンドがあります。

引用 http://en.kioskea.net/faq/sujet-848-windows-xp-repairing-the-network-connection-using-command-line

Windowsの下でXPネットワーク接続を修復できる小さな機能があります。コントロールパネル(コントロールパネル/ネットワーク接続)のネットワーク接続オプションに移動し、目的のネットワーク接続を右クリックします修復オプションを選択します。

次のコマンドライン内で、Netshユーティリティを使用して同じコマンドを実行できます。

netsh int ip reset c:\network-connection.log

c:\ network-connection.logは、レポートが保存されるファイルのアドレスを表します

Netsh int ip ...コマンドを使用すると、TCP/IPをリセットできます。

Windows XP Service Pack 2では、次を使用できます。

netsh winsock reset catalog

TCP/IPを管理するソケットをリセットします。これは、ネットワークの問題(ブラウザの問題、IPアドレス関連の問題など)を処理するために使用できます。

5
Johnny

ワイヤレス接続の場合は、ネットワークアダプタを無効にしてから再度有効にします。そのようなものが記事に欠けているものだと思います。

2
chaos

LpfavreauとEvgenyによってリストされたポイントとは別に、「修復」ネットワーク接続は次のことも行います。 -ネットワークデバイスのMAC(およびおそらくPHY)をリセットします。これにより、デバイスはすべてのローカルデータ構造を再開始し、スタックしている可能性のあるエラー状態をクリアします。-デバイスドライバーとネットワークインターフェイスのRx/Txパケットキューをクリアし、古いキューがあればフラッシュします。パケット。

1
Harty

私のために働いたこと:

netsh interface show interface

私にとって「イーサネット2」であったインターフェース名を表示し、次に:

netsh interface set interface "Ethernet 2" DISABLED
netsh interface set interface "Ethernet 2" ENABLED
1
Zitrax

Wi-Fi接続が発生し、XPボックスにときどきドロップされますが、明確な理由はありません。これを修正する唯一の方法は、システムトレイのWi-Fi接続アイコンを右クリックして修復することです。

これをコマンドラインから実行するには、この記事の手順に従います。これでうまくいきます。 http://wlanbook.com/enable-disable-wireless-card-command-line/

1
nyet
ipconfig /renew
0
Steven A. Lowe

これで私が見つけた最も近いものはでした。 http://msdn.Microsoft.com/en-us/library/ff358632(v = vs.85).aspx

0
Nightforce2

これは私のために働いています。

バッチファイル(私は私のnetrepair.batと呼びました)を作成し、実行権限のあるディレクトリに配置します。メモ帳を使用してファイルを作成します。

ファイルに次の行を入力します

ipconfig/renew arp -d * nbtstat -R nbtstat -RR ipconfig/flushdns ipconfig/registerdns

次に、保存して閉じます。

管理者としてcmdターミナルを開き、netrepair.batが保存されているフォルダーに移動して、次のように入力します。

netrepair.bat

コマンドラインで。

それでおしまい。

コマンドの機能の説明については、 http://support.Microsoft.com/kb/289256 を参照してください。

0
user3514398

1回のAPI呼び出しで完了です!

コードが提供されたWin32apiフォーラムnews://comp.os.ms-windows.programmer.win32を参照してください(C)

0
Denver