10

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

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

4

12 に答える 12

20

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

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

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

于 2008-12-20T07:31:08.833 に答える
8

それが行うことは他にもいくつかあるようです:

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

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

于 2008-12-20T06:29:57.680 に答える
5

コマンドラインから実行するコマンドがあります。

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 アドレス関連の問題など) を処理するために使用できます。

于 2010-01-13T10:21:55.413 に答える
2

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

于 2008-12-20T06:22:56.537 に答える
1

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

于 2008-12-31T06:57:43.433 に答える
1

私のために働いたもの:

netsh interface show interface

私にとっては「Ethernet 2」だったインターフェイス名を表示するには、次のようにします。

netsh interface set interface "Ethernet 2" DISABLED
netsh interface set interface "Ethernet 2" ENABLED
于 2014-03-05T10:00:00.277 に答える
0

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

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

于 2008-12-20T11:46:00.160 に答える
0

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

于 2011-04-14T15:12:02.750 に答える
0
ipconfig /renew
于 2008-12-20T06:22:54.683 に答える
0

これは私にとってはうまくいきました。

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

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

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

保存して閉じます。

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

netrepair.bat

コマンドラインで。

それでおしまい。

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

于 2014-04-10T08:25:06.973 に答える
-1

これは、ウェイクアップの 5 秒後に netsh インターフェイス セット インターフェイス "Ethernet" DISABLED" に続いて "ENABLED" を実行するタスク マネージャー XML ファイル (タスク マネージャーにインポート) です。

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2015-01-15T10:19:28.1634612</Date>
    <Author>MACHINE\user</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="System"&gt;&lt;Select Path="System"&gt;*[System[Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] and EventID=1]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
      <Delay>PT5S</Delay>
    </EventTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-18</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>true</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Windows\System32\netsh.exe</Command>
      <Arguments>interface set interface "Ethernet" DISABLED</Arguments>
    </Exec>
    <Exec>
      <Command>C:\Windows\System32\netsh.exe</Command>
      <Arguments>interface set interface "Ethernet" ENABLED</Arguments>
    </Exec>
  </Actions>
</Task>
于 2015-01-15T17:45:00.123 に答える