网络连接状态指示器 (NCSI) 故障排除指南
发布时间:2026-10-08 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
适用于: Supported versions of Windows Server
本指南旨在帮助排查网络连接状态指示器(NCSI)问题。
网络位置感知(NLA)服务确定 Windows 具有哪种类型的网络连接。
在 NLA 服务在 Windows 10 中加载 ncsi.dll文件之前 ,它将执行操作并接收有关网络的通知和状态信息。 NCSI 评估的连接状态由各种应用程序使用,例如Microsoft Outlook、Microsoft Teams、Skype、Windows 更新、Microsoft DirectAccess 和某些第三方软件。
从 Windows 11 开始,作业由网络列表服务(netprofm)服务执行。
NCSI 主要通过网络探测运行,这些探测涉及将简单的网络请求发送到终结点并等待响应。
活动探测可以涉及对特定 NCSI 地址的域名系统(DNS)查找或定向到 Web 探测服务器的请求。 虽然服务器由 Internet 上的Microsoft托管,但它也可以是其企业中的客户专用探测服务器,尽管这种情况并不常见。
如果 NCSI 发送探测并接收有效的响应,计算机将连接到 Internet。
虽然主动探测显式执行与网络相关的操作来获取有关网络状态的信息,但被动探测使用从接收的数据中学到的信息来实现相同的目的。
它依赖于网络统计信息,例如最近发送或接收的数据包、这些帧的生存时间(TTL)值,以及来自其他组件的通知。
网络状态任务栏图标是网络连接的基本指示。 它会通知用户网络是完全可用的,还是存在某种程度的网络问题。
通过 Wi-Fi 进行完全 Internet 访问:
通过 Wi-Fi 进行完全 Internet 访问:
通过以太网进行完全 Internet 访问: 或
通过以太网进行完全 Internet 访问: 或
某种程度的网络中断: 未连接 - 连接可用 : 识别 无 Internet 访问 : 、 或
识别 无 Internet 访问 : 、 或
不完全依赖指标是有益的。 NCSI 无法完成探测并不一定意味着客户端计算机无法访问 Internet。
若要解决 NCSI 问题,请确保 NCSI 可以将活动探测发送到 Internet 并成功接收响应。
打开浏览器并访问 Microsoft连接测试 ( ipv6.msftconnecttext.com 适用于 IPv6)。 预期内容为“Microsoft连接测试”。
如果无法获取文本文件,请验证以下项:
代理设置在目标客户端上正确配置。
代理服务器不会限制对上述地址的访问。
如果客户端在 Windows 10 版本 1607 之前,请使用 Microsoft NCSI ( ipv6.msftncsi.com 适用于 IPv6)。 预期内容是包含内容“Microsoft NCSI”的纯文本文件。
有时,当 NCSI 失败时,浏览器上的手动测试会成功,因为它绕过代理。 在这种情况下,通过网络跟踪跟踪跟踪流量有助于识别异常行为。
检查路径中的 NCSI 事件日志: 应用程序和服务日志\Microsoft\Windows\NCSI\Operational 。 例如:
4.检查注册表位置是否有任何更改
HTTP Web 探测服务器、路径、预期探测内容以及 DNS 探测主机和内容在注册表路径下预定义:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Windows 10 版本 1607 及更高版本中的默认值:
Windows 10 版本 1511、Windows 10 版本 1507、Windows 8.1 和 Windows 8 中的默认值:
Windows 7 和早期版本没有此功能。
从 Windows 10 版本 1607 开始,Web 探测 (HTTP) 请求将发送到 Microsoft连接测试 。 预期响应为“HTTP 200 正常”,有效负载包含“Microsoft连接测试”。
如果通过本地注册表项禁用活动探测,则值为 EnableActiveProbing 0 。 请确保将值设置为 1 。
运行以下 PowerShell cmdlet 以测试连接性:
如果任何接口的 IPv4 或 IPv6 连接指示 Internet ,则计算机的连接被视为 Internet。 在这种情况下,此问题当前不可重现或与 NCSI 无关。
6.检查哪些探测用于检测受影响计算机上的 Internet
根据各种因素,计算机可能使用特定类型的活动探测来确定 Internet 连接。 此外,考虑到主动和被动探测都处于活动状态,使用主动探测时计算机可能会失败,而使用被动探测检测到网络状态。
7.检查“MaxActiveProbes”值
NCSI 发送的活动探测数不会超过设置的值 HKLM\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator\MaxActiveProbes 。
默认情况下,此键不存在(或设置为 0 )。 这表示探测数量不受限制,这很少会引发问题。
对于 DNS 探测,请执行 nslookup 或 Resolve-DnsName , dns.msftncsi.com 以确保可从计算机解析终结点。
检查注册表 HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\MinimumInternetHopCount 值 。
值 3 通常适用于大多数企业基础结构。 默认值为 8 。
检查组策略对象(GPO)配置: 计算机配置 \管理模板\ \网络连接状态指示器\ 指定被动轮询。
如果未配置组策略,则默认允许它。
由于探测服务器不正确,DNS 探测失败
确保注册表中为活动探测指定的 DNS 完全限定域名与目标探测服务器匹配。
除非需要,否则不建议修改默认探测数据配置。 虽然客户可以重写它以定向到其专用托管的探测服务器,但这种情况很少见。
了解为什么没有 DNS 响应。 可能的原因包括未检测到的代理和不正确的 DNS 服务器 IP 地址。
由于“HTTP 403 禁止访问”错误,HTTP 探测失败
检查环境中是否有任何防火墙或网关块。
DNS 解析无法发送 HTTP 探测
DNS 服务器应能够响应 msftconnecttest.com 查询或将其转发到可以执行此操作的服务器。
HTTP 直接探测失败,但代理存在
确保客户端收到对 Web 代理自动发现(WPAD)查询的有效 DNS 响应。 如果 DNS 服务器无法解析查询,则应将查询转发到可以执行此操作的 DNS 服务器。
其他选项包括手动配置代理数据(通过 GPO),或允许通过上游防火墙进行活动探测。
在联系Microsoft支持人员之前,可以收集有关问题的信息。
TroubleShootingScript (TSS) 必须由在本地系统上具有管理员权限的帐户运行,并且必须接受最终用户许可协议(EULA)(一旦接受 EULA,TSS 不会再次提示)。
建议使用本地计算机 RemoteSigned PowerShell 执行策略。
如果当前 PowerShell 执行策略不允许运行 TSS,请执行以下操作:
通过运行 cmdlet Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned 设置 RemoteSigned 进程级别的执行策略。
若要验证更改是否生效,请运行 cmdlet Get-ExecutionPolicy -List 。
由于进程级别权限仅适用于当前的 PowerShell 会话,因此一旦关闭了运行 TSS 的给定 PowerShell 窗口,进程级别的分配权限也将返回到以前配置的状态。
在联系Microsoft支持人员之前收集关键信息
下载 TSS 并将其解压缩到 C:\tss 文件夹中。
下载 TSS 并将其解压缩到 C:\tss 文件夹中。
从提升的 PowerShell 命令提示符打开 C:\tss 文件夹。
从提升的 PowerShell 命令提示符打开 C:\tss 文件夹。
使用以下 cmdlet 启动受影响计算机上的跟踪: .\TSS.ps1 -Start -Scenario NET_NCSI
使用以下 cmdlet 启动受影响计算机上的跟踪:
接受 EULA 和问题步骤记录器(PSR)确认。
接受 EULA 和问题步骤记录器(PSR)确认。
在重现问题后输入 Y 以完成日志收集。
在重现问题后输入 Y 以完成日志收集。
跟踪将存储在 C:\MS_DATA 文件夹中的 zip 文件中。
问题 1. 何时发送主动探测?
活动探测由某些事件触发。 NCSI 监视器或已注册以接收指示可能需要刷新网络状态的事件通知。
问题 2. NCSI 如何知道是要使用 HTTP 还是 DNS 探测?
如果不存在代理,则使用 DNS 进行 NCSI 探测。
如果检测到代理,NCSI 将使用 HTTP 探测。
当代理的存在尚未得到确认时,还有一个“强制”的 Web 探测。 有时,NCSI 可能会发现代理。 但与此同时,如果 DNS 探测不起作用,它可能会怀疑代理没有明确的证据。 在这两种情况下,NCSI 都使用 HTTP 探测。
Wi-Fi 和 IPv6 接口始终使用 HTTP 探测。
问题 3. 被动探测何时运行以及多久运行一次?
仅当满足这些条件时,被动探测才会运行:
组策略允许以下设置。 计算机配置 \ 管理模板 \\ 网络连接状态指示器 \ 指定被动轮询 注意 如果未配置组策略,则默认允许它。
计算机配置 \ 管理模板 \\ 网络连接状态指示器 \ 指定被动轮询
如果未配置组策略,则默认允许它。
至少有一个客户端应用程序或服务已注册 NCSI 通知。
至少有一个客户端应用程序或服务已注册 NCSI 通知。
用户已登录或在过去 30 秒内登录。
用户已登录或在过去 30 秒内登录。
接口上存在 IPv4/IPv6 单播地址,在过去 30 秒内处理/或数据包。
接口上存在 IPv4/IPv6 单播地址,在过去 30 秒内处理/或数据包。
问 4. 为什么同时需要主动和被动探测?
主动和被动探测相互补充。 它们都确定相同的最终结果(连接类型),但以不同的方式。 由于网络状况间歇性,这两者都需要它们。 有时,这些条件会阻止活动探测正常运行。
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
上次更新时间为 2026-02-12