操作系统:Vista企业
当我在家庭和办公室网络之间切换时,我总是遇到连接到网络的问题。几乎总是我必须在“网络和共享中心”中使用诊断服务,当我使用重置网络适配器选项时问题就解决了。
这需要花费很多时间(3-4分钟),所以我试图找到一个命令或一个powershell脚本/ cmdlet,我可以直接使用它来重置网络适配器并保存自己每次我这5分钟必须在网络之间切换。有什么指针吗?
答案 0 :(得分:24)
您可以在PowerShell中使用WMI来完成此任务。假设有一个网络适配器,其设备名称中包含 Wireless ,则该系列命令可能如下所示:
$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Wireless*"}
$adaptor.Disable()
$adaptor.Enable()
请记住,如果您使用Window的Vista运行此功能,则可能需要以管理员的身份运行PowerShell 。
答案 1 :(得分:10)
Zitrax的回答:
netsh interface set interface "InterfaceName" DISABLED
netsh interface set interface "InterfaceName" ENABLED
是我所寻找的99%。但是,他/她遗漏的一条信息是,这些命令必须以管理员身份运行。将cmd.exe作为管理员运行并输入,或者将它们存储在批处理文件中,然后通过右键单击该文件并选择"以管理员身份运行"作为管理员运行该文件。从上下文菜单中。
答案 2 :(得分:7)
您也可以在.BAT或.CMD文件中尝试此操作:
ipconfig /release
ipconfig /renew
arp -d *
nbtstat -R
nbtstat -RR
ipconfig /flushdns
ipconfig /registerdns
这些命令应该与网络适配器的“诊断和修复”相同,但速度更快!
如果这有帮助,请告诉我! JFV
答案 3 :(得分:6)
对我有用的是什么:
netsh interface show interface
显示对我来说是“Ethernet 2”的接口名称,然后是:
netsh interface set interface "Ethernet 2" DISABLED
netsh interface set interface "Ethernet 2" ENABLED
答案 4 :(得分:5)
请参阅The Scripting Guys中的这篇文章,"How Can I Enable or Disable My Network Adapter?"
TL / DR:
Restart-NetAdapter -Name "Your Name Here"
您可以使用
获取列表Get-NetAdapter
答案 5 :(得分:5)
以下命令对我有用(在Server 2012 R2上):
Restart-NetAdapter -Name "Ethernet 2"
将“Ethernet 2”替换为适配器的名称。
注意:要创建PS脚本:在记事本中创建一个新文档,保存为script.PS1
,插入上面的行并保存。右键单击文件 - >使用PowerShell运行。
有关详情,请参阅此technet文章。
答案 6 :(得分:3)
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);
}
}
}
}
}
答案 7 :(得分:3)
这是我在PowerShell 5.0.10586.122版Windows 10 Home上使用的内容。这需要以管理员身份运行:
Restart-NetAdapter -Name "ethernet"
要以管理员身份运行此操作,而无需“关闭UAC”或“ R-Click - >以管理员身份运行”:(这是一次性任务)
Restart-NetAdapter -Name "ethernet"
放入.ps1
文件现在每次运行快捷方式时,只需在UAC屏幕上单击“是”,它就会重置您在.ps1
文件中指定的适配器。
使用PowerShell(WiFi,LAN等)获取可用适配器的名称:
.ps1
答案 8 :(得分:1)
您还可以使用Microsoft实用程序devcon.exe。
首先,运行devcon listclass net
以查找您的设备ID。
然后在此命令中使用此设备ID:devcon restart PCI\VEN_16*
(使用'*'
通配符以避免输入整个ID字符串。)
答案 9 :(得分:1)
您还可以使用wmic命令重新启动NIC:
获取界面ID:
C:\>wmic nic get name, index
禁用NIC(InterfaceID:1):
wmic path win32_networkadapter where index=1 call disable
启用NIC(InterfaceID:1):
wmic path win32_networkadapter where index=1 call enable
来源:http://www.sysadmit.com/2016/04/windows-reiniciar-red.html
答案 10 :(得分:0)
您还可以尝试netsh
个命令。例如:
netsh wlan disconnect && netsh wlan connect [ONE OF YOUR WLAN PROFILES]
您可以使用以下方式获取这些“个人资料”的列表:
netsh wlan show profiles
答案 11 :(得分:0)
ipconfig / flushdns
ipconfig / renew
我使用2个cmdlet刷新连接。你不一定需要重新启动路由器来重新获得一个强信号(我知道电源循环会清除路由器的内存,但确实如此)。
答案 12 :(得分:0)
感谢Info,可以使用netsh完成。 我写了一个简单的" Repair.bat"脚本:
@echo off
netsh interface set interface "%1" DISABLED
netsh interface set interface "%1" ENABLED
只需使用NIC的名称调用它,重命名为" WLAN"所以我没有空格,键入"修复WLAN"进入cmd就可以了。 我将它放入system32并完成它的任务或者看看如何将它集成到网络上下文菜单中......