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

筛选符合通用命名规范的NIC,远程修改DNS服务器脚本求助

解决远程筛选特定命名规范网卡并修改DNS的问题

我明白你的痛点——服务器网卡命名不统一,不能靠固定索引或简单的IpEnabled=True来筛选,怕误改第三方网络的配置。之前的筛选逻辑出错了,我来帮你修正并给出可行方案:

先分析你之前的筛选错误

你写的这段筛选代码逻辑有问题:

foreach($name in $aliasname | Where-Object -Property $name -contains "WhatIAmLookingFor"){...}

这里的-Property $name是错误的——-Property需要传入固定的属性名(比如NetConnectionID),而不是循环变量$name(此时$name还没被赋值,筛选条件等于无效,所以会返回所有结果)。

正确的解决方案:按通用命名关键词精准筛选

核心思路是:直接针对网卡配置的NetConnectionID(也就是你说的“别名”)进行模糊匹配,同时结合IpEnabled=True确保是活跃的网卡,避免筛选到禁用或非IP网卡。

步骤1:定义基础参数

先把服务器名和你的目标网卡关键词(比如“公司内网”“Corp”这类通用命名标识)定义好:

$server = "servername"
# 替换成你的网卡通用命名关键词,支持模糊匹配
$targetNicKeyword = "WhatIAmLookingFor"

步骤2:精准筛选目标网卡配置

直接查询Win32_NetworkAdapterConfiguration并筛选符合条件的网卡:

# 获取所有启用IP且别名包含目标关键词的网卡配置
$targetNicConfig = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $server | 
    Where-Object { 
        $_.IpEnabled -eq $true -and 
        # 用-match做模糊匹配,支持正则,比如多个关键词可以写 "(Corp|Internal)"
        $_.NetConnectionID -match $targetNicKeyword 
    }

步骤3:验证筛选结果(关键!先确认再修改)

先输出筛选到的网卡信息,确保是你要修改的目标:

$targetNicConfig | Select-Object NetConnectionID, Description, IPAddress, DNSServerSearchOrder | Format-Table -AutoSize

步骤4:修改DNS服务器配置

确认筛选结果正确后,调用SetDNSServerSearchOrder方法修改DNS:

if ($targetNicConfig) {
    # 替换成你的目标DNS服务器地址数组
    $dnsServers = @("192.168.1.10", "192.168.1.11")
    
    # 执行DNS修改
    $result = $targetNicConfig.SetDNSServerSearchOrder($dnsServers)
    
    # 检查执行结果(ReturnValue=0表示成功)
    if ($result.ReturnValue -eq 0) {
        Write-Host "✅ 成功修改服务器 $server 上的网卡 [$($targetNicConfig.NetConnectionID)] 的DNS配置"
    } else {
        Write-Warning "❌ 修改失败,返回错误码:$($result.ReturnValue)"
    }
} else {
    Write-Warning "⚠️ 在服务器 $server 上未找到符合命名规范的目标网卡"
}

额外优化建议

  • 如果你的通用命名有多个关键词,可以用正则匹配多个规则,比如:$_.NetConnectionID -match "(公司内网|Corp-LAN|Internal)"
  • 建议先在测试服务器上验证筛选逻辑,确认无误后再批量执行
  • 确保你有远程服务器的管理员权限,且远程服务器的WinRM服务已启用(WMI依赖WinRM)

内容的提问来源于stack exchange,提问作者sam.solo.works

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:27:23