如题,小弟我已会用cmd指令修改IP了但比较困扰的是,我的电脑有两张网卡一个有插线,另一个没用到所以每次需要用指令先显示所有网卡再依照识别码去修改IP请问有没有甚么指令可以自动选择有插线的网卡去做修改呢cmd 或是 powershell 都可以,希望有懂得大大可以帮帮忙!谢谢

1 个回答

1

Kailis

iT邦研究生 1 级 ‧ 2024-11-09 10:13:12

好奇问, 你这改ip需求是什么? 用dhcp 绑定有线网卡配发固定ip 不行吗?


另外以下为chatgpt 回覆, 供参

方案 1:自动选择有插线的网卡并修改 IP(PowerShell)
这个 PowerShell 脚本会自动搜寻所有已经插线的网卡(Ethernet 类型)并进行 IP 设定。

获取所有网卡资讯,过滤出有线网卡(Ethernet)并且已连接的网卡

$nic = Get-NetAdapter | Where-Object { $_.Status -eq \'Up\' -and $_.MediaType -eq \'Ethernet\' }

检查是否找到有插线的网卡

if ($nic) {
    # 输出网卡名称,供参考
    Write-Host "选择的有线网卡: $($nic.Name)"

    
    # 设定新的 IP 地址、子网掩码和闸道器(根据需要修改)
    $ipAddress = "192.168.1.100"
    $subnetMask = "255.255.255.0"
    $gateway = "192.168.1.1"

    # 修改 IP 配置
    New-NetIPAddress -InterfaceAlias $nic.Name -IPAddress $ipAddress -PrefixLength 24 -DefaultGateway $gateway
} else {
    Write-Host "未发现有插线的网卡。"
}

说明:
Get-NetAdapter:这个命令会列出所有网卡的详细信息。
Where-Object { $.Status -eq \'Up\' -and $.MediaType -eq \'Ethernet\' }:过滤条件是网卡状态为 Up 且媒介类型为 Ethernet,即找出当前连接并且是有线网路的网卡。
New-NetIPAddress:用来设置网卡的 IP 地址、子网掩码和默认闸道。
这样的脚本会自动选择有插线的有线网卡进行配置,并忽略无线网卡。

方案 2:仅选择 Ethernet 网卡并修改 IP 配置
如果你确定只有一张 Ethernet 网卡需要修改 IP,可以使用以下更简单的脚本:

获取所有网卡资讯,过滤出有线网卡(Ethernet)

$nic = Get-NetAdapter | Where-Object { $_.MediaType -eq \'Ethernet\' }

检查是否找到有线网卡

if ($nic) {
    # 输出网卡名称,供参考
    Write-Host "选择的有线网卡: $($nic.Name)"
# 设定新的 IP 地址、子网掩码和闸道器(根据需要修改)
$ipAddress = "192.168.1.100"
$subnetMask = "255.255.255.0"
$gateway = "192.168.1.1"

# 修改 IP 配置
New-NetIPAddress -InterfaceAlias $nic.Name -IPAddress $ipAddress -PrefixLength 24 -DefaultGateway $gateway
} else {
Write-Host "未发现有插线的网卡。"
}

补充:
MediaType 是用来区分网卡类型的属性,Ethernet 代表有线网卡,Wireless 代表无线网卡。
Status 为 Up 代表网卡处于运行状态,能够发送和接收资料。
总结:
以上两种方法,无论是根据 状态 (Status) 还是 网卡类型 (MediaType),都能帮助你自动选择已插线的网卡进行 IP 设定。你可以根据需求选择其中一种来实现自动配置。


  • 7

看更多先前的...收起先前的...

jeffeux

iT邦新手 4 级 ‧
2024-11-10 08:37:15

可能是 SurfShark VPN 吧? 🤣

修改

ez34567

iT邦新手 5 级 ‧
2024-11-11 13:32:11

Kailis抱歉之前没办法,我是某公司的驻点人员,该公司电脑有网域,若网路介面卡只显示"网路"而非网域就需要改一次IP使其显示网域,而若需要改IP就需要换帐号才行,所以我写了一个批次档方便我直接修改IP,如下。而询问到的powershell办法可以让我省去第一步
![

修改

穷嘶发发发

iT邦高手 1 级 ‧
2024-11-12 09:15:51

ez34567
"该公司电脑有网域,若网路介面卡只显示"网路"而非网域就需要改一次IP使其显示网域"
这是个问题,有网域的环境会出现这样的问题,用改IP的方式处理有点扯蛋
网路环境有问题不去解决,靠着改IP来处理,本末倒置,个人猜环境内有非法的DHCP ( AP、器等等)
正确该处理这些非法设备,不是靠指令档来逐台粉饰

修改

ez34567

iT邦新手 5 级 ‧
2024-11-12 12:35:51

穷嘶发发发我没有这方面知识,甚至只是遇到这个问题从我能做的处理去下手,如果我想了解这种问题的发生原因跟解决办法能去哪里获取呢

修改

穷嘶发发发

iT邦高手 1 级 ‧
2024-11-13 11:41:51

你该检查用户端电脑关于网域的设定,还有公司网路是否有非法的DHCP主机
怎么检查,问AI问GOOGLE 都有方案,知识除了问人,也可以问问这些资源
还有公司有网域,相关的维护书籍有没有学习计画,就算不把它完整学习
至少要把如何维护做好学习计画,不然你真的对不起你领的薪水

修改

ez34567

iT邦新手 5 级 ‧
2024-11-13 12:35:29

穷嘶发发发我的薪水是不包含这方面啦,只是我自己想了解,另外这种网路环境的问题应该是网管负责的?

修改

穷嘶发发发

iT邦高手 1 级 ‧
2024-11-13 14:46:13

ez34567 你问的问题,跟后续的维护都是网管或是IT该负责的,如果这些不是你的职责,请勿介入,做得再多都得不偿失

修改