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

如何让适配Win10+的PowerShell脚本兼容Win7(替代Get-NetConnectionProfile)

适配Windows 7的域认证+公共网络共存检测脚本

原脚本依赖Windows 10及以上才有的Get-NetConnectionProfile和Get-NetAdapter cmdlet,在Windows 7上无法直接运行。要实现相同的检测功能,需用WMI类替代这些专属cmdlet——Windows 7的WMI原生支持网络适配器、连接配置文件的信息查询。

核心替代思路

  • 用Win32_NetworkAdapter获取活跃网卡(对应原脚本的Get-NetAdapter -Status Up)
  • 用Win32_NetConnectionProfile获取网卡的网络类别(DomainAuthenticated/Public,对应原脚本的Get-NetConnectionProfile)
  • 用Win32_NetworkAdapterConfiguration获取IPv4地址配置(对应原脚本的Get-NetIPAddress)

兼容Windows 7的完整脚本

# 获取所有启用状态的物理网卡(需包含虚拟网卡可移除PhysicalAdapter过滤条件)
$activeAdapters = Get-WmiObject Win32_NetworkAdapter -ErrorAction SilentlyContinue | 
    Where-Object { $_.NetEnabled -eq $true -and $_.PhysicalAdapter -eq $true }

$domainInterfaces = @()
$publicInterfaces = @()

foreach ($adapter in $activeAdapters) {
    # 查询当前网卡的网络连接配置文件
    $profile = Get-WmiObject Win32_NetConnectionProfile -ErrorAction SilentlyContinue |
        Where-Object { $_.InterfaceIndex -eq $adapter.InterfaceIndex }
    
    if (-not $profile) { continue }

    # 查询网卡的IPv4启用状态
    $ipConfig = Get-WmiObject Win32_NetworkAdapterConfiguration -ErrorAction SilentlyContinue |
        Where-Object { $_.InterfaceIndex -eq $adapter.InterfaceIndex -and $_.IPEnabled -eq $true }

    if (-not $ipConfig) { continue }

    # 根据网络类别归类(0=DomainAuthenticated,1=Public,2=Private)
    switch ($profile.NetworkCategory) {
        0 { $domainInterfaces += $ipConfig }
        1 { $publicInterfaces += $ipConfig }
    }
}

# 判断是否同时存在域认证和公共网络连接
if ($domainInterfaces.Count -gt 0 -and $publicInterfaces.Count -gt 0) {
    Write-Host "Public Interface found on $($env:COMPUTERNAME)"
} else {
    Write-Host "None"
}

关键细节说明

  • Win32_NetConnectionProfile的NetworkCategory是数字枚举:0对应DomainAuthenticated,1对应Public,2对应Private,与原脚本的字符串类型分类一一对应
  • 脚本默认过滤物理网卡,若需包含虚拟网卡,删除$_.PhysicalAdapter -eq $true即可
  • Win7下WMI查询速度略慢于Win10的NetTCPIP模块cmdlet,但功能完全覆盖需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:47:32