web-dev-qa-db-ja.com

イーサネットとwifiスクリプトを切り替える

イーサネットアダプタを自動的に無効にし、wifiアダプタを有効にするためのバッチスクリプトが存在するかどうか疑問に思っていました。IDなどをいじる必要があると思います。

これは、イーサネットインターネットが計測されているのに対し、Wi-Fiは計測されていないためです。したがって、イーサネット接続のパケット損失を低くする必要があるかどうかに応じて、2つを簡単に切り替える方法が必要です。

他の可能性は、アダプターを無視するように特定のプログラムを設定する方法があるかどうかです。つまり、google chromeなどはイーサネットを使用しないようにしますが、他のすべてはデフォルトでイーサネットになりますか?

セスのおかげで最終結果

if( (Get-NetAdapter -Name "WiFi").Status -eq "Disabled"){
  Disable-NetAdapter -Name "Ethernet"
  Enable-NetAdapter -Name "Wifi"
  "Wifi enabled, Ethernet disabled"
}else{
  Disable-NetAdapter -Name "Wifi"
  Enable-NetAdapter -Name "Ethernet"
  "Ethernet enabled, Wifi disabled"
}

有効ではなく無効をチェックする理由は、有効になっているステータスがないためです(速度読み取りで確認できます)(ステータスは接続などに分割されます)。

私自身の便宜のために、PowerShellの-EncodedCommandフラグを使用してバッチファイルにしました。

2
Cjen1

この質問を見ると: ネットワークアダプタを切り替えるためのバッチファイルを作成するにはどうすればよいですか?

利用可能なオプションがいくつかあることがわかります。あなたが言っているように、あなたはWindows 10を実行しています。私は、PowerShellスクリプトを使用したいと思います。組み合わせるのと同じくらい簡単かもしれません Get-NetAdapterEnable-NetAdapter および Disable-NetAdapter

私はWindows10を持っていませんが、おそらく次のようになります。

if( (Get-NetAdapter -Name "WLAN").Enabled -eq $True){
  Disable-NetAdapter -Name "WLAN"
  Enable-NetAdapter -Name "LAN"
}else{
  Disable-NetAdapter -Name "LAN"
  Enable-NetAdapter -Name "WLAN"
}

これにはエラー処理がないため、カバーされていないケースがおそらくたくさんあります。これをバッチで実行したい場合は、同じパターンに従うことができますが、netshを使用すると、代わりに出力されます。また、その点に関するいくつかのより多くの情報があるという質問を見てください。

5
Seth