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

PowerShell设置多网卡DNS域名及动态注册:非活动网卡配置失败求助

解决非活动网卡DNS域及动态注册配置失败的问题

问题根源

你使用的Win32_NetworkAdapterConfiguration WMI类仅对已启用TCP/IP栈的网卡(即IPEnabled属性为$true的实例)开放完整配置权限。非活动网卡通常处于IPEnabled=$false状态,导致SetDnsDomain和SetDynamicDNSRegistration方法调用被系统拒绝。

解决思路

临时启用目标非活动网卡,完成配置后再恢复其原始状态;同时改用更现代的PowerShell网络模块(NetAdapter和DnsClient)替代WMI,这类模块对网卡配置的兼容性和可控性更强。

修改后的脚本示例

# 定义需要配置的网卡描述匹配规则
$targetAdapterPatterns = @(
    "Realtek USB G*",
    "Intel(R) Dual Ba*",
    "Intel(R) Ether*"
)

$targetDnsDomain = "clients.ad.company.com"

foreach ($pattern in $targetAdapterPatterns) {
    # 获取匹配的网卡
    $adapter = Get-NetAdapter | Where-Object { $_.InterfaceDescription -like $pattern }
    if (-not $adapter) {
        Write-Host "未找到匹配描述的网卡: $pattern"
        continue
    }

    # 记录网卡原始启用状态
    $wasEnabled = ($adapter.Status -eq "Up")

    # 若网卡未启用,先临时启用
    if (-not $wasEnabled) {
        Enable-NetAdapter -Name $adapter.Name -Confirm:$false
        Start-Sleep -Seconds 2 # 等待网卡完成启用流程
    }

    # 设置连接特定DNS后缀
    Set-DnsClient -InterfaceAlias $adapter.Name -ConnectionSpecificSuffix $targetDnsDomain

    # 启用动态DNS注册(对应原WMI的两个注册选项)
    Set-DnsClientRegistration -InterfaceAlias $adapter.Name -Enable $true -EnableNonStoreForwarder $true

    # 恢复网卡原始启用状态(如果之前是禁用的)
    if (-not $wasEnabled) {
        Disable-NetAdapter -Name $adapter.Name -Confirm:$false
    }

    # 输出配置结果
    Write-Host "====================================="
    Write-Host "网卡描述: " $adapter.InterfaceDescription
    $dnsClientInfo = Get-DnsClient -InterfaceAlias $adapter.Name
    Write-Host "DNS后缀: " $dnsClientInfo.ConnectionSpecificSuffix
    $regInfo = Get-DnsClientRegistration -InterfaceAlias $adapter.Name
    Write-Host "全DNS注册启用: " $regInfo.Enable
    Write-Host "域DNS注册启用: " $regInfo.EnableNonStoreForwarder
    Write-Host "====================================="
}

注意事项

  1. 管理员权限:必须以管理员身份运行PowerShell,否则无法执行网卡启用/禁用及DNS配置修改操作。
  2. 物理连接检查:扩展坞等外接网卡需要确保物理连接正常,否则启用操作会失败。
  3. 等待时间调整:Start-Sleep的时长可根据系统性能调整,确保网卡完全初始化后再执行配置操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:55:19