本指南旨在協助針對網路連線狀態指標 (NCSI) 問題進行疑難解答。
NCSI 的基本概念
網路位置感知 (NLA) 服務會決定 Windows 具有哪種類型的網路連線能力。
在 NLA 服務載入 Windows 10 中的ncsi.dll 檔案之前,它會執行作業,並接收有關網路的通知和狀態資訊。 NCSI 評估的連線狀態是由各種應用程式使用,例如Microsoft Outlook、Microsoft Teams、Skype、Windows Update、Microsoft DirectAccess 和某些第三方軟體。
從 Windows 11 開始,工作是由網路清單服務 (netprofm) 服務執行。
NCSI 主要透過網路探查運作,包括將簡單的網路要求傳送至端點,並等候回應。
作用中探查
作用中探查可以涉及特定 NCSI 位址的域名系統(DNS)查閱,或導向至 Web 探查伺服器的要求。 雖然伺服器是由因特網上的Microsoft所裝載,但它也可以是其企業內的客戶私人探查伺服器,雖然這並不常見。
如果 NCSI 傳送探查並接收有效的回應,電腦就會連線到因特網。
注意
請勿停用作用中探查以解決問題。
被動探查
雖然主動探查會明確執行網路相關動作來取得網路狀態的相關信息,但被動探查會使用從接收的數據中學到的信息來達到相同的目的。
它依賴網路統計數據,例如最近傳送或接收的封包、這些畫面格的存留時間 (TTL) 值,以及來自其他元件的通知。
疑難排解檢查清單
1.網路狀態任務列圖示
網路狀態任務列圖示是網路連線的基本指示。 它會通知用戶網路是否完全可用,或是否有某種程度的網路問題。
透過Wi-Fi的完整因特網存取:
透過乙太網路的完整因特網存取:
或
某種程度的網路中斷:
- 未連線 - 可用的連線:
- 識別 沒有因特網存取:
、、
或
- 未連線 - 可用的連線:
注意
不完全依賴指標是有益的。 NCSI 無法完成探查,不一定表示用戶端計算機無法存取因特網。
若要解決 NCSI 問題,請確定 NCSI 可以將作用中的探查傳送至因特網,並成功接收回應。
2. NCSI 瀏覽器測試
開啟瀏覽器並存取 Microsoft Connect Test (ipv6.msftconnecttext.com
適用於 IPv6)。 預期的內容為「Microsoft Connect 測試」。
如果您無法取得文字檔,請確認下列專案:
- Proxy 設定會在目標客戶端上正確設定。
- Proxy 伺服器不會限制對上述位址的存取。
如果用戶端在 Windows 10 版本 1607 之前,請使用 Microsoft NCSI (ipv6.msftncsi.com
適用於 IPv6)。 預期的內容是純文本檔案,內容為「Microsoft NCSI」。
有時候,瀏覽器上的手動測試會在 NCSI 失敗時成功,因為它會略過 Proxy。 在這種情況下,透過網路追蹤追蹤追蹤流量有助於識別異常行為。
3.檢查 NCSI 事件記錄
檢查路徑中的 NCSI 事件記錄檔: 應用程式和服務記錄\Microsoft\Windows\NCSI\Operational。 例如:
4.檢查登錄位置是否有任何變更
注意
必須啟用主動探查。
HTTP Web 探查伺服器、路徑、預期的探查內容,以及 DNS 探查主機和內容,會在登錄路徑下預先定義:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Windows 10 版本 1607 和更新版本中的預設值:
名稱 | 類型 | 資料 |
---|---|---|
(預設值) | REG_SZ | (值未設定) |
ActiveDnsProbeContent | REG_SZ | 131.107.255.255 |
ActiveDnsProbeContentV6 | REG_SZ | fd3e:4f5a:5b81::1 |
ActiveDnsProbeHost | REG_SZ | dns.msftncsi.com |
ActiveDnsProbeHostV6 | REG_SZ | dns.msftncsi.com |
ActiveWebProbeContent | REG_SZ | Microsoft Connect 測試 |
ActiveWebProbeContentV6 | REG_SZ | Microsoft Connect 測試 |
ActiveWebProbeHost | REG_SZ | www.msftconnecttest.com |
ActiveWebProbeHostV6 | REG_SZ | ipv6.msftconnecttest.com |
ActiveWebProbePath | REG_SZ | connecttest.txt |
ActiveWebProbePathV6 | REG_SZ | connecttest.txt |
CaptivePortalTimer | REG_DWORD | 0x00000000 (0) |
CaptivePortalTimerBackOffincrementsInSeconds | REG_DWORD | 0x00000005 (5) |
CaptivePortalTimerMaxInSeconds | REG_DWORD | 0x0000001e (30) |
EnableActiveProbing | REG_DWORD | 0x00000001 (1) |
PassivePollPeriod | REG_DWORD | 0x0000000f (15) |
StaleThreshold | REG_DWORD | 0x0000001e (30) |
WebTimeout | REG_DWORD | 0x00000023 (35) |
Windows 10 版本 1511、Windows 10 版本 1507、Windows 8.1 和 Windows 8 中的預設值:
名稱 | 類型 | 資料 |
---|---|---|
(預設值) | REG_SZ | (值未設定) |
ActiveDnsProbeContent | REG_SZ | 131.107.255.255 |
ActiveDnsProbeContentV6 | REG_SZ | fd3e:4f5a:5b81::1 |
ActiveDnsProbeHost | REG_SZ | dns.msftncsi.com |
ActiveDnsProbeHostV6 | REG_SZ | dns.msftncsi.com |
ActiveWebProbeContent | REG_SZ | Microsoft NCSI |
ActiveWebProbeContentV6 | REG_SZ | Microsoft NCSI |
ActiveWebProbeHost | REG_SZ | www.msftncsi.com |
ActiveWebProbeHostV6 | REG_SZ | ipv6.msftncsi.com |
ActiveWebProbePath | REG_SZ | ncsi.txt |
ActiveWebProbePathV6 | REG_SZ | ncsi.txt |
EnableActiveProbing | REG_DWORD | 0x00000001 (1) |
PassivePollPeriod | REG_DWORD | 0x0000000f (15) |
StaleThreshold | REG_DWORD | 0x0000001e (30) |
WebTimeout | REG_DWORD | 0x00000023 (35) |
Windows 7 和舊版沒有此功能。
從 Windows 10 版本 1607 開始,Web 探查 (HTTP) 要求會傳送至 Microsoft Connect 測試。 預期的回應為 「HTTP 200 OK」,承載包含 「Microsoft Connect Test」。。
注意
如果透過本機登錄機碼停用使用中探查,則 值為 EnableActiveProbing
0。 請務必將值設定為 1。
5. 連線的簡單測試
執行下列 PowerShell Cmdlet 來測試連線能力:
Get-NetConnectionProfile
以下是良好連線的範例:
Name : XYZ
InterfaceAlias : Ethernet
InterfaceIndex : 5
NetworkCategory : Private
DomainAuthenticationKind : None
IPv4Connectivity : Internet
IPv6Connectivity : Internet
如果任何介面的 IPv4 或 IPv6 連線表示 Internet
,則電腦聯機會被視為因特網。 在這種情況下,此問題目前無法重現或與 NCSI 無關。
6.檢查哪些探查是用來偵測受影響計算機上的因特網
根據各種因素,計算機可能會使用特定類型的主動探查來判斷因特網連線能力。 此外,考慮到主動和被動探查都是主動式探查,當使用主動探查時計算機可能會失敗,而網路狀態是透過被動探查偵測到的。
7.檢查 “MaxActiveProbes” 值
NCSI 所傳送的作用中探查數目不會超過 中所 HKLM\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator\MaxActiveProbes
設定的值。
根據預設,此機碼不存在(或設定為 0)。 這表示探查數目無限制,這應該很少會造成問題。
8.檢查 DNS 解析
針對 DNS 探查,請執行 nslookup 或 Resolve-DnsNamedns.msftncsi.com
,以確保可從電腦解析端點。
9. 被動探查相關設定
檢查的 HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\MinimumInternetHopCount
登錄值。
值 3 通常適合大部分的企業基礎結構。 預設值為 8。
檢查組策略物件 (GPO) 設定:計算機\設定系統管理範本\網路\連線狀態指標\指定被動輪詢。
注意
未設定組策略時,預設會允許它。
常見問題與解決方案
DNS 探查因為探查伺服器不正確而失敗
請確定登錄中用於作用中探查的 DNS 完整功能變數名稱 (FQDN) 符合目標探查伺服器。
除非需要,否則不建議修改預設探查數據組態。 雖然客戶可以覆寫它以導向其私人裝載的探查伺服器,但這很少見。
DNS 探查因為逾時而失敗
了解為什麼沒有 DNS 回應。 可能的原因包括未偵測到的 Proxy 和不正確的 DNS 伺服器 IP 位址。
HTTP 探查失敗,因為發生「HTTP 403 禁止」錯誤
檢查您的環境中是否有任何防火牆或閘道區塊。
DNS 解析無法傳送 HTTP 探查
DNS 伺服器應該能夠回應 msftconnecttest.com
查詢,或將它轉送至可以執行此動作的伺服器。
HTTP 直接探查失敗,但 Proxy 存在
確定用戶端會收到 Web Proxy 自動探索 (WPAD) 查詢的有效 DNS 回應。 如果 DNS 伺服器無法解析查詢,它應該將查詢轉送至可以執行的 DNS 伺服器。
其他選項包括手動設定 Proxy 資料(透過 GPO),或允許透過上游防火牆的作用中探查。
資料收集
在連絡Microsoft支援之前,您可以收集問題的相關信息。
必要條件
- TroubleShootingScript (TSS) 必須由本機系統上具有系統管理員許可權的帳戶執行,且必須接受使用者許可協定 (EULA) (一旦接受 EULA,TSS 將不會再次提示)。
- 我們建議本機電腦
RemoteSigned
PowerShell 執行原則。
注意
如果目前的 PowerShell 執行原則不允許執行 TSS,請採取下列動作:
- 執行 Cmdlet
Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned
來RemoteSigned
設定進程層級的執行原則。 - 若要確認變更是否生效,請執行 Cmdlet
Get-ExecutionPolicy -List
。 - 因為進程層級許可權僅適用於目前的 PowerShell 工作階段,一旦指定的 PowerShell 視窗在 TSS 執行時關閉,進程層級的指派許可權也會回到先前設定的狀態。
在連絡Microsoft支援之前收集重要資訊
下載 TSS ,並將其解壓縮到 C:\tss 資料夾中。
從提升許可權的 PowerShell 命令提示字元開啟 C:\tss 資料夾。
使用下列 Cmdlet 啟動受影響電腦上的追蹤:
.\TSS.ps1 -Start -Scenario NET_NCSI
接受EULA和問題步驟錄製器 (PSR) 確認。
輸入 Y 之前重現問題。
輸入 Y 以在重現問題之後完成記錄收集。
追蹤會儲存在 C:\MS_DATA 資料夾中的 zip 檔案中。
常見問題集
Q1. 何時傳送主動探查?
作用中的探查是由特定事件觸發。 NCSI 監視器或已註冊以接收事件通知,指出可能需要重新整理網路狀態。
Q2. NCSI 如何知道使用 HTTP 還是 DNS 探查?
- 當沒有任何 Proxy 存在時,具有 DNS 的 NCSI 探查。
- 如果偵測到 Proxy,NCSI 會使用 HTTP 探查。
- 當 Proxy 存在尚未確認時,也會有「強制」的 Web 探查。 有時候,NCSI 可能會探索 Proxy。 但與此同時,如果 DNS 探查無法運作,它可能會懷疑 Proxy 沒有明確的證據。 在這兩種情況下,NCSI 都會使用 HTTP 探查。
- Wi-Fi 和 IPv6 介面一律使用 HTTP 探查。
Q3. 被動探查何時執行且執行頻率為何?
只有在符合這些條件時,才會執行被動探查:
組策略允許下列設定。
計算機設定\系統管理範本\網路\連線狀態指標\指定被動輪詢
注意
未設定組策略時,預設會允許它。
至少有一個用戶端應用程式或服務已註冊 NCSI 通知。
用戶已登入或在過去 30 秒內登入。
系統未以網路無訊息模式執行。
介面上存在 IPv4/IPv6 單播位址,在過去 30 秒內處理/或封包。
問 4: 為什麼同時需要主動和被動探查?
主動和被動探查彼此互補。 兩者都決定相同的最終結果(連線類型),但以不同的方式。 由於網路狀況間歇性,需要兩者。 有時候,這些條件會防止作用中的探查正常運作。