Windows 通过命令行重命名网络接口名称
我想通过dos将网络接口名称重命名为默认名称,例如“Ethernet” 我知道Windows 通过命令行重命名网络接口名称,windows,networking,cmd,ethernet,netsh,Windows,Networking,Cmd,Ethernet,Netsh,我想通过dos将网络接口名称重命名为默认名称,例如“Ethernet” 我知道netsh接口set interface name=“Local Area Connection”newname=“Ethernet”就是这样做的 我正在运行一个脚本,它不会知道interace的名称,对吗?因此,在设置接口的IP地址之前,我需要将其重命名为默认值 如何在不知道接口名称的情况下执行此操作 是否有办法以某种方式获取接口名称,然后对其进行更改?您可以使用Powershell进行大量操作,这取决于您的服务器安
netsh接口set interface name=“Local Area Connection”newname=“Ethernet”
就是这样做的
我正在运行一个脚本,它不会知道interace的名称,对吗?因此,在设置接口的IP地址之前,我需要将其重命名为默认值
如何在不知道接口名称的情况下执行此操作
是否有办法以某种方式获取接口名称,然后对其进行更改?您可以使用Powershell进行大量操作,这取决于您的服务器安装的新程度。谷歌“Get-WmiObject-Class Win32\u NetworkAdapterConfiguration”查看更多信息。netsh(微软试图让我们放弃的工具) 要获取WLAN接口名称:
netsh WLAN show interfaces
帮助状态:显示接口-显示系统上无线LAN接口的列表。
要获取LAN接口名称:
netsh LAN show interfaces
帮助状态:显示接口-显示系统上当前有线接口的列表。
要获取所有接口的名称:
netsh interface show interface
帮助状态:显示界面-显示界面 LAN命令确实需要有线自动配置服务,该服务通常不会启动 此批处理脚本将启动服务,获取(最后一个)LAN接口名称,将其更改为新名称,再次停止Wired AutoConfig服务
sc.exe start dot3svc
for /f "tokens=1* delims=: " %%a in ('netsh lan show interfaces') do if %%a == Name set activeAdapter=%%b
echo %activeAdapter%
netsh interface set interface name="%activeAdapter%" newname="Ethernet"
sc.exe stop dot3svc
限制:
- 它假定只有一个有线接口
- 它将停止有线自动配置服务,无论它是否在开始运行
动力壳 要更好地控制改名为PowerShell的接口,将更容易选择 这可能在大多数情况下都有效:
Get NetAdapter |其中对象{$\硬件接口-eq$True-和$\媒体类型-eq“802.3”}重命名NetAdapter-NewName“Ethernet”
硬件接口
将消除虚拟接口,例如VMWareMediaType
802.3
将仅显示“有线”接口,而不显示Wifi、宽带或其他接口
在脚本文件中,使用上述版本的命令,简写版本为:获取NetAdapter |?硬件接口|?MediaType-eq“802.3”|将NetAdapter重命名为“以太网”
有更多选项可以选择所需的界面。检查可以选择它的所有参数:(获取NetAdapter)[0]|格式列表-属性*-强制
e、 g.列出所有由Realtek制造的产品(Realtek供应商10ec,英特尔:8086):
获取NetAdapter |?类似组件ID的“PCI\venu 10EC*”
非虚拟:获取NetAdapter |?虚拟-均衡器$false
连接器存在:获取NetAdapter |?ConnectorPresent
然后是WMI对象获取WmiObject-类Win32\u网络适配器配置
登记处 如果您更改了网络适配器卡,而新卡使用的名称为:Ethernet 2或类似名称,并且您希望将其重新命名为“Ethernet”, 将出现一个错误,说明:
"You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name."
这当然是关于重命名计算机的错误消息。PowerShell会正确地说:
试图创建一个对象,但对象名称已经存在。
但是转到控制面板\网络和Internet \网络连接
并尝试在那里重命名接口也不会有帮助
对于这种情况,唯一的选择似乎是在这些注册表路径中查找相应的键:
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\NetworkDriverBackup\Control\Network\{4d36e972-e325-11ce-bfc1-08002be10318}\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\NetworkDriverBackup\Control\NetworkSetup2\Interfaces\
然后删除旧接口的密钥(不是上面写的整个路径!),然后重新启动。通过cmd batch、PS或控制面板重命名现在应该可以了。很抱歉回滚编辑,我在引号中说了“DOS”,因为它是问题下的一个标记。但不同意“命令行”,因为PowerShell应该是(也许)新的命令行,但无论如何也是一个命令行。netsh是一个工具,不是命令行,但肯定不是DOS,我同意即使在引号中也不应该使用该引用。所以现在我记得netsh不再唠叨过时了。是什么给了MS?:)