You need to enable JavaScript to run this app. 如何组合Get-ADComputer与Get-WmiObject查询域内指定网卡设备
优惠活动
大模型
产品
解决方案
定价
更多

如何组合Get-ADComputer与Get-WmiObject查询域内指定网卡设备

PowerShell跨设备查询指定AD域网卡实现方案

核心实现脚本

你可以通过遍历Get-ADComputer返回的设备名,逐台发起远程WMI/CIM查询实现需求,推荐优先使用已替代Get-WmiObject的Get-CimInstance cmdlet,兼容性和错误处理能力更强,完整脚本如下:

# 导入AD模块
Import-Module ActiveDirectory

# 定义要匹配的目标网卡名称
$targetNicName = "Intel(R) Dual Band Wireless-AC 8265"

# 遍历所有AD计算机对象查询网卡
Get-ADComputer -Filter * | ForEach-Object {
    $computerName = $_.DNSHostName
    # 跳过空设备名
    if (-not $computerName) { return }
    try {
        # 远程查询网卡信息,超时设置避免长时间等待离线设备
        $nic = Get-CimInstance -ClassName Win32_NetworkAdapter -ComputerName $computerName -ErrorAction Stop | 
               Where-Object Name -eq $targetNicName |
               Select-Object NetConnectionID, Name
        if ($nic) {
            # 匹配到目标网卡则输出结果
            [PSCustomObject]@{
                计算机名 = $computerName
                设备OU = $_.DistinguishedName -replace '^CN=.*?,',''
                网卡名称 = $nic.Name
                网络连接名 = $nic.NetConnectionID
            }
        }
    }
    catch {
        # 可根据需求开启离线/无权限设备的日志输出
        # Write-Warning "无法连接到设备 $computerName : $_"
    }
} | Export-Csv -Path "目标网卡设备清单.csv" -NoTypeInformation -Encoding UTF8

注意事项

  • 执行脚本的账号需要具备所有目标设备的本地管理员权限,同时目标设备防火墙需开放WMI/CIM远程访问入站规则
  • 如果你坚持要使用原有的Get-WmiObject,只需把脚本中的Get-CimInstance替换为对应命令即可,逻辑完全一致
  • 如果仅需要查询特定OU下的设备,可以给Get-ADComputer添加-SearchBase "OU=笔记本,DC=你的域名,DC=com"参数缩小查询范围,提升执行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 12:24:07