web-dev-qa-db-ja.com

ネットワークアダプターをリセットするコマンド/ Powershellスクリプト

OS:Vistaエンタープライズ

ホームネットワークとオフィスネットワークを切り替えると、常にネットワークに接続する際に問題が発生します。ほとんどの場合、「ネットワークと共有センター」で診断サービスを使用する必要があり、ネットワークアダプターのリセットオプションを使用すると問題は解決します。

これには多くの時間(3-4分)がかかるため、ネットワークアダプターをリセットし、切り替える必要があるたびに5分を節約するために直接使用できるコマンドまたはPowerShellスクリプト/コマンドレットを見つけようとしましたネットワーク間。ポインタはありますか?

25
Mohit

PowerShell内からWMIを使用してこれを実現できます。デバイス名のネットワークアダプタにWirelessが含まれていると仮定すると、一連のコマンドは次のようになります。

$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Wireless*"}
$adaptor.Disable()
$adaptor.Enable()

WindowsのVistaでこれを実行している場合は、PowerShell 管理者としてを実行する必要がある場合があることに注意してください。

24
Scott Saad

Zitraxの答え:

netsh interface set interface "InterfaceName" DISABLED
netsh interface set interface "InterfaceName" ENABLED

私が探していたものの99%でした。ただし、忘れてしまった情報の1つは、これらのコマンドを管理者として実行する必要があるということです。 cmd.exeを管理者として実行して入力するか、バッチファイルに保存し、右クリックしてコンテキストメニューから[管理者として実行]を選択し、管理者としてそのファイルを実行します。

10
Andrew C

.BATまたは.CMDファイルでこれを試すこともできます:

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

これらのコマンドは、ネットワークアダプターの「診断と修復」と同じことを行う必要がありますが、非常に高速です。

これが役立つかどうか教えてください! JFV

7
JFV

私のために働いたもの:

netsh interface show interface

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

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

The Scripting Guysのこの記事を参照してください 「ネットワークアダプターを有効または無効にする方法はありますか?」

tl/dr:

Restart-NetAdapter   -Name "Your Name Here"

を使用してリストを取得できます

Get-NetAdapter
5
Mike L

次のコマンドが機能しました(Server 2012 R2):

Restart-NetAdapter -Name "Ethernet 2"

「Ethernet 2」をアダプターの名前に置き換えます。

注:PSスクリプトを作成するには、メモ帳で新しいドキュメントを作成し、script.PS1、上の行を挿入して保存します。ファイルを右クリック-> PowerShellで実行。

詳細については、こちらをご覧ください technet 記事。

5
Leigh

Scottの投稿から、System.Managementを使用する非常に小さなC#/ .Netコンソールアプリケーションを作成することになりました。再起動するアダプタにコマンドラインパラメータとして名前を付けることができます。このコードは、デバイスの取り扱いに関するいくつかの基本を示しています。これは他の人にも役立つ可能性があります。

using System;
using System.Management;

namespace ResetNetworkAdapter
{
  class Program
  {
    static void Main(string[] args)
    {
      if (args.Length != 1)
      {
        Console.WriteLine("ResetNetworkAdapter [adapter name]");
        Console.WriteLine("disables and re-enables (restarts) network adapters containing [adapter name] in their name");
        return;
      }

      // commandline parameter is a string to be contained in the searched network adapter name
      string AdapterNameLike = args[0];

      // get network adapter node 
      SelectQuery query = new SelectQuery("Win32_NetworkAdapter");
      ManagementObjectSearcher searcher =  new ManagementObjectSearcher(query);
      ManagementObjectCollection adapters = searcher.Get();

      // enumerate all network adapters
      foreach (ManagementObject adapter in adapters)
      {
        // find the matching adapter
        string Name = (string)adapter.Properties["Name"].Value;
        if (Name.ToLower().Contains(AdapterNameLike.ToLower()))
        {
          // disable and re-enable the adapter
          adapter.InvokeMethod("Disable", null);
          adapter.InvokeMethod("Enable", null);
        }
      }
    }
  }
}
3
Claudio Maranta

これは、PowerShellバージョン5.0.10586.122 Windows 10 Homeで使用するものです。これは管理者として実行する必要があります。

Restart-NetAdapter -Name "ethernet"

「UACをオフにする」または「R-Click->管理者として実行」:(これは1回限りのタスクです)

  • 上記のRestart-NetAdapter -Name "ethernet".ps1ファイルに入れます
  • 新しいショートカットを作成します(R-Click .ps1ファイル>ショートカットの作成)
  • ショートカットでは、 R-Click >プロパティ>ショートカット>ターゲット>(以下に示すように、場所/ファイル名の前にPowershell.exeを追加します。また、以下に示すように、場所/ファイル名を二重引用符( ")で囲みます。

enter image description here

  • ショートカットでは、 R-Click > [プロパティ]> [ショートカット]> [詳細]> [管理者として実行](このチェックボックスをオンにします)

これで、ショートカットを実行するたびに、UAC画面で[はい]をクリックするだけで、.ps1ファイルで指定したアダプターがリセットされます。

PowerShell(WiFi、LANなど)を使用して利用可能なアダプターの名前を取得するには:

Get-NetAdapter

3
Santa

Wmicコマンドを使用してNICを再起動することもできます。

インターフェイスIDを取得:

C:\>wmic nic get name, index 

無効NIC(InterfaceID:1):

wmic path win32_networkadapter where index=1 call disable

Enable NIC(InterfaceID:1):

wmic path win32_networkadapter where index=1 call enable

ソース: http://www.sysadmit.com/2016/04/windows-reiniciar-red.html

1
Lunudeus1

Microsoftユーティリティ devcon.exe を使用することもできます。

ファーストラン devcon listclass netでデバイスIDを見つけます。

次に、このコマンドでこのデバイスIDを使用します:devcon restart PCI\VEN_16*'*'ワイルドカードを使用して、ID文字列全体を入力する必要がなくなります。

1
Andrew Strong

Netshで実行できるInfoをありがとう。簡単な「Repair.bat」スクリプトを作成しました。

@echo off
netsh interface set interface "%1" DISABLED
netsh interface set interface "%1" ENABLED

NICの名前で呼び出して、名前を「WLAN」に変更します。スペースがないため、cmdに「Repair WLAN」と入力するとうまくいきます。 system32に配置してタスクを作成するか、ネットワークコンテキストメニューに統合する方法を確認します...

0
Alahndro

ipconfig/flushdns

ipconfig/renew

接続を更新するために使用する2つのコマンドレットはありますか。強力な信号を再取得するために、必ずしもルーターの電源を入れ直す必要はありません(電源の入れ直しがルーターのメモリをクリアすることは知っていますが、それは本当です)。

0
user3830646

netshコマンドを試すこともできます。例:

netsh wlan disconnect && netsh wlan connect [ONE OF YOUR WLAN PROFILES]

以下を使用して、これらの「プロファイル」のリストを取得できます。

netsh wlan show profiles
0
Protector one