You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中计算机WiFi IPv4地址与CSV中IP匹配失败求助

解决方案:PowerShell匹配WiFi IP与CSV中的IP前缀

问题原因

你的CSV文件中存储的是IP前缀(如10.101),而Get-NetIPAddress获取到的是完整IPv4地址(如10.101.5.20)。之前的代码错误地用前缀去匹配完整IP,且未添加通配符,导致匹配失败。

正确实现代码

核心逻辑是:让完整IP去匹配CSV中的前缀+通配符*,以此判断IP是否属于目标前缀段。

基础版本

# 获取WiFi接口的IPv4地址
$currentIP = (Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias wi-fi).IPAddress
# 导入IP前缀列表
$ipList = Import-Csv "C:\Windows\Temp\List.csv"

# 遍历列表检查匹配
foreach ($item in $ipList) {
    # 用完整IP匹配前缀通配符
    if ($currentIP -like "$($item.IP)*") {
        Write-Host "匹配成功:当前IP属于$($item.SITE)"
    }
}

处理多IP场景

如果WiFi接口存在多个IPv4地址,遍历所有IP进行检查:

$currentIPs = (Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias wi-fi).IPAddress
$ipList = Import-Csv "C:\Windows\Temp\List.csv"

foreach ($ip in $currentIPs) {
    foreach ($item in $ipList) {
        if ($ip -like "$($item.IP)*") {
            Write-Host "匹配成功:$ip 属于 $($item.SITE)"
        }
    }
}

关键说明

  • $($item.IP)*:通过字符串拼接给CSV中的IP前缀添加通配符,实现"前缀匹配任意后续字符"的效果
  • -like运算符:PowerShell中专门用于通配符匹配的运算符,*代表任意长度的任意字符
  • 变量嵌套$($item.IP):确保在字符串中正确解析对象属性,避免语法错误

内容的提问来源于stack exchange,提问作者user7532598

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:42:46