PROBLEM DESCRIPTION

Windows 7 may sometimes report that it has "No Internet Access"; this is visible via the System Tray icon showing a yellow exclamation mark, and also if you go into the Network and Sharing Center.  I had this problem recently on my work laptop and spent some time researching possible causes.

DISCUSSION / ANALYSIS

After searching via Google, I learned that one common cause was the Bonjour service and that the recommended fix was to delay its starting (setting the startup type on the service to "Automatic (Delayed Start").  Unfortunately for me, I didn't have this service installed.

Eventually I focused on the Microsoft Network Location Awareness (NLA) service provider, which is the component that controls how the computer handles multiple network connections, such as multiple network interface cards (NIC) connected to different networks, or a physical network connection and a dial-up connection.

I also learned that at system startup (and every time you change NIC settings?) a little-known sub-system of Windows kicks into action.  Its called Microsoft NCSI and the Network Location Awareness service tries to access the following URL:  www.msftncsi.com/ncsi.txt

That URL returns a simple text string:   Microsoft NCSI

This is how Windows 7 (and Vista?) determines whether it is connected to the Internet or not ... if it gets the string, its connected; if it doesn't, it assumes it is not connected to the Internet.

Since I knew that I was connected to the Internet, why was the URL not working and causing the service to reach a false conclusion?

I eventually made the connection that I had recently put a new Fortigate-200B into production and had integrated it with our ActiveDirectory database.  All outbound web traffic (HTTP/80) was being processed by an Identity-Based policy which required (transparent) user validation against ActiveDirectory before approving the request ... and if the Network Location Awareness service started up and tried to reach that URL before a user logged on to the computer, it would fail the identity-based policy user authentication challenge/response and then conclude that it was not connected to the Internet.

SOLUTION

I changed the startup settings for the Network Location Awareness service from "Automatic" to "Automatic (Delayed Start)" but this only partially corrected the problem.  Eventually I wrote the following batch file and set it to run in my Startup folder:

echo off echo. echo     Restart "Network Location Awareness" service echo. net stop "Network List Service" ping localhost -n 5 > nul net stop "Network Location Awareness" ping localhost -n 5 > nul net start "Network Location Awareness" ping localhost -n 5 > nul net start "Network List Service" exit

Copyright © 2011 Stephen Frost

 

Windows 7 incorrectly reports "No Internet Access"的更多相关文章

  1. Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误

    Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误,(root密码错误) 处理方 ...

  2. IE中无法执行JS脚本 解决WINDOWS SERVER 2008弹出INTERNET EXPLORER增强安全配置正在阻止来自下列网站的内容

    在默认状态下,使用Windows Server 2008系统自带的IE浏览器访问网页内容时,我们时常发现“Internet Explorer增强安全配置正在阻止来自下列网站的内容”的提示导致不能打开网 ...

  3. 使用Windows Server 2003搭建一个asp+access网站

    鼠标右键->新建->网站->下一步->描述(随便给一个,这里我以test为例) ->下一步->下一步->输入主目录的路径,默认路径下是C:\Inetpub\w ...

  4. windows串口之虚拟串口和Access port

    关于 本文将介绍自己常用的串口工具,演示环境为Windows. 1. 虚拟串口 1.1 没有那么多的物理串口, 用虚拟串口来凑.需要软件Configure Virtual Serial Port Dr ...

  5. [mysql]刷新windows恢复后mysql和"Access denied for user'root'@'IP'"处理问题

    mysql数据库软件实际上是绿色的,重装系统后能够继续使用. 1.重装系统保留原有的后mysql安装文件夹,数据文件夹. 2.制作用于启动一个批处理文件mysql:[run.bat]的文件存储在mys ...

  6. Configure the Windows Firewall to Allow SQL Server Access

    参考微软链接: https://msdn.microsoft.com/zh-tw/library/cc646023.aspx

  7. windows程序设计——飞机大战笔记(Access数据库的使用)

    //////////////////2015/07/22/////////////////// /////////////////by xbw ///////////////////////// // ...

  8. Scientific Internet Access

    下载小飞机 https://github.com/shadowsocksr-backup 寻找ssr https://github.com/Alvin9999/new-pac/wiki/ss%E5%8 ...

  9. Autel MaxiSys Pro MS908P Software Update Gudie

    This article aims to guide on how to update software for Autel MaxiSys Pro. (Suitable for MaxiDiag E ...

随机推荐

  1. [hihoCoder] 第四十九周: 欧拉路·一

    题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...

  2. 模态推出 全屏 隐藏tabbar

    SearchVC * vc = [[SearchVC alloc] init]; /* 底部向上  UIModalTransitionStyleCoverVertical // 淡入     UIMo ...

  3. 在c和c++中的求绝对值

    在c语言中,根据类型的不同,求绝对值函数也不同. int abs(int x) double fabs(double x) 求int类型用abs,求浮点类型用fabs. 而且这两个函数的所在头文件也不 ...

  4. Android AOP之路三 Android上的注解

    一.简单介绍 啥是注解.不懂的能够先看我上一篇文章. 在android 里面 注解主要用来干这么几件事: 和编译器一起给你一些提示警告信息. 配合一些ide 能够更加方便快捷 安全有效的编写java代 ...

  5. mongoose更新文档的时候让某个字段自增

    Station.update({ _id: req.params.id }, { $set: req.body, $inc: { count: 1 } }, { multi: false }, cal ...

  6. 关于angular的$resource中的isArray属性问题

    在之前的文章中讲到了在使用$resource的时候,有一个isArray属性. 这个属性在两个地方有提到: 1. angular学习笔记(二十八)-$http(6)-使用ngResource模块构建R ...

  7. linux命令(45):去掉 所有文件中的空行

    方法一:利用grep grep -v '^\s*$' test.txt 注:-v表示将匹配的结果进行反转,正则表达式匹配空行.(空行可包括空格符制表符等空白字符) 方法二:利用sed sed '/^\ ...

  8. quick3.3final版创建项目报错解决

    PHP Notice:  Undefined index: QUICK_V3_ROOT in 405,469,497,520,551这5行代码都访问了一个环境变量$_ENV['QUICK_V3_ROO ...

  9. Mac安装mtr与brow安装

    Mac安装mtr与brow安装 Mac里比较好的安装mtr方式是用Homebrew 或者MacPorts,本来想安装Homebrew,但大概是GFW的问题,下载地址无法访问,因为没有全局FQ,暂时不考 ...

  10. Secure gRPC with TLS/SSL

    摘自:http://bbengfort.github.io/programmer/2017/03/03/secure-grpc.html Secure gRPC with TLS/SSL 03 Mar ...