如何解除Windows 8中的Modern Apps网络隔离

   在 Windows 8 中,我们全新引入了 WinRT 平台,带给用户包含动态磁贴和沉浸式用户体验的 Modern Apps。


  如果您是企业用户,有公司的代理服务器环境,或者您是开发人员,相信您已经发现了在本地连接更换代理后,所有 Modern Apps 都不再能访问网络。这是由于新的 WinRT 运行时的网络隔离设计造成的。

  为了实施新的安全性策略,让 WinRT 平台上的应用更加安全,Modern Apps 在使用某项功能时,必须事先由开发者声明。例如要使用网络连接,就需要声明,不仅要声明需要网络连接,还得声明清楚需要哪一种类型的连接方式。由于实施了网络隔离,所有的 Modern Apps 默认就不能使用IP环回地址进行进程间通信。当我们在 Internet 设置的连接设置里,为 LAN 指定了代理服务器之后,Modern Apps 也就不能上网了,此时只有桌面版的应用程序才能通过代理服务器上网。(WinRT 有一定的能力能够检测到本地网络的默认代理服务器从而使 Modern Apps 访问 Internet,但像手动指定了 LAN 代理后,它就不能自动检测到了。)

  有时候,当公司里面的默认网络代理服务器不工作时,IT 管理员可能会要求用户手动指定另外的 LAN 代理服务器,此时, Modern Apps 都不能上网了,着实郁闷,其实,我们有两种办法解除网络隔离的限制,让 Modern Apps 在特殊时期也能上网:

  法一:使用组策略为网络隔离环境指定 Internet 代理

  打开本地组策略编辑器,展开"计算机配置"-"管理模版"-"网络"-"网络隔离",我们可以看见如下几个设置项:


  我们可以编辑"应用的 Internet 代理服务器",来指定一个 Internet 代理。注意,这里指定的代理得与你在桌面IE选项的连接设置里指定的LAN代理一致,这样 Modern Apps 才能具备访问互联网的基础。没错,这只是个基础,因为,仅指定这一项的话,你添加的代理与系统检测到的代理是一个并集,由于自动检测的优先,而在桌面指定了 LAN 代理后,自动检测的代理与手动指定的 LAN 代理不一致,结果还是不能上网。所以为了 Modern Apps 能上网,我们还需启用"代理定义权威"这一项,让 Modern Apps 只使用这里指定的代理。

  法二:使用 Win8 内置的调试命令集为具体 App 添加网络隔离排除

  Windows 8 内置了一个命令行工具,是为了方便 Modern Apps 开发者诊断网络问题的。我们可以利用它来把某些 Modern Apps 添加到网络隔离排除列表:


  这里我们使用其中的 LoopbackExempt 参数即可实现我们的需求。对于这个参数,它的使用还有具体的二级参数需要指定。


  程序帮助说的很明确了,因此这里不再列表赘述。这里,我想提醒大家的是,由于 AppContainer 或者程序包的 SID 较难寻找(需要借助注册表),我个人建议大家使用 –n=[Name] 的方式来通过 AppContainer 或者程序包名来操作网络隔离豁免。因为获取名称的方式很简单,只要你打开 %LocalAppData%Packages 路径,下面的各个文件夹的名称就是各个 Modern Apps 的名称,可供使用, 方便复制粘贴。


  从图中可以看出,识别这些 App 究竟对应开始屏幕里面哪个 Modern App 其实并不难,因为文件夹的部分就是该程序的名称。例如我们可以看见最后一个,"WinStore_cw5n1h2txyewy",它无疑就是"应用商店"这个应用的内部名称。

  这里,我们假设现在默认的代理服务器坏了,我在桌面环境设置了 LAN 代理,这时,我需要使用应用商店更新我的几个应用程序,那么,我就要为它添加网络隔离豁免了:执行"CheckNetIsolation.exe LoopbackExempt -a -n=WinStore_cw5n1h2txyewy",便将应用商店添加到豁免列表了。

  要验证豁免列表,我们使用"CheckNetIsolation.exe LoopbackExempt -a -s"命令即可:


  要删除某个豁免,将添加豁免的命令中的 -a 参数换为 -d 即可,要快速全部清除列表内容,执行"CheckNetIsolation.exe LoopbackExempt -c"。

  比较以上两种办法,我个人还是建议大家使用第二种办法。原因有两个:

  其一,组策略法中,无法为隔离网络指定代理服务器的代理端口,所以,使用非80口的应用可能还是不能正常工作。例如,应用商店在这样设置时,只能浏览应用,无法更新软件和下载软件。

  其二,使用 CheckNetIsolation 可以方便地控制和查阅豁免情况,而且,没有什么端口的限制,程序功能完全正常。而且,对于 IT 专业人士而言,这个可以集成到代码中去,并且代码可复用,可自动化控制。

  而在第二种方式里面,建议大家使用 -n=[AppName] 的形式添加删除豁免比使用 -p=[AppSID] 不仅要好在上面提到过的便捷性,而且,像 Store 这样的特殊 Modern App,它在注册表的 HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings 下面根本就没有对应的 SID 显示出来。在上面通过名称添加 Store 豁免,并且查阅豁免列表后,我们发现 Store 的 SID=S-1-15-2-2608634532-1453884237-1118350049-1925931850-670756941-1603938316-3764965493.

时间: 2024-08-01 06:50:59

如何解除Windows 8中的Modern Apps网络隔离的相关文章

windows系统中基于WIFI的网络编程

问题描述 windows系统中基于WIFI的网络编程 想用C++写一个在windows系统中基于WIFI传输数据的网络小程序,请各位高手指点一下,应该从哪方面入手,开发流程是什么样的? 解决方案 什么也不用操心,wifi对于你的程序来说,是透明的,换一句话说,无线有线你的代码无需变化.在windows下,可以使用winsock编程实现通讯,如果是vc++,用mfc,可以用csocket类,具体google下,有现成的代码例子. 解决方案二: 就是winsock2而已不管网络是什么,用这个就对了,

如何解除Win8中Modern应用网络隔离

在 Windows8 中,我们全新引入了 WinRT 平台,带给用户包含动态磁贴和沉浸式用户体验的 Modern Apps,如果您是企业用户,有公司的代理服务器环境,或者您是开发人员,相信您已经发现了在本地连接更换代理后,所有 Modern Apps 都不再能访问网络.这是由于新的 WinRT 运行时的网络隔离设计造成的. 为了实施新的安全性策略,让 WinRT 平台上的应用更加安全,Modern Apps 在使用某项功能时,必须事先由开发者声明.例如要使用网络连接,就需要声明,不仅要声明需要网

如何恢复Windows 10中的Modern版IE?

  如果你已经安装 Windows 10 技术预览版,可能已经注意到 Modern 版 IE 似乎没有出现在这个版本中.对于偏好触控友好的 Modern 版 IE,下面的方法可以打开 Modern 版 IE,但方法也有遗憾: 直接下载PowerShell 脚本 右键 > "使用 PowerShell 运行"> 输入"Y"回车 Modern 版 IE 浏览器会自动启动,之后运行这个 PowerShell 脚本就能启动(请确定 IE 为默认浏览器) 遗憾之处

Windows 7中合并和删除网络位置的问题

打开网络和共享中心, 在查看活动网络一栏中,点击活动网络的图标,记得是那个图标而不是文字,然后选择合并或删除网络位置. 如下图所示: 出处: http://ivan8321.blog.51cto.com/681139/203519

使用virtualbox在windows 7中设置ubuntu虚拟机网络

以前在XP下使用virtualbox安装ubuntu虚拟机,配置网络连接很容易的.使用nat上网:使用桥接,主机能访问虚拟机.也就是配置2张网卡就可以了.在win7下面,完全不是一回事.使用nat能上网,不过桥接的网卡,配置就麻烦了很多.桥接使用静态地址,主机能访问虚拟机,不过会导致虚拟机访问不了网络,ping百度都没反应:桥接使用动态地址,虚拟机能访问外网,不过主机访问不了虚拟机.捣腾的过程,遇到了不少的麻烦.后来到网上放狗,找到了解决方法,在这里标记一下.简单的来说,使用host only

解除Windows 8商店应用的网络限制

如果您是企业用户,有公司的代理服务器环境,或者您是开发人员,相信您已经发现了在本地连接更换代理后,所有商店应用都不再能访问网络.这是由于新的 WinRT 运行时的网络隔离设计造成的.其实,我们有两种办法解除网络隔离的限制,让商店应用在特殊时期也能上网... 在 Windows 8 中,我们全新引入了 WinRT 平台,带给用户包含动态磁贴和沉浸式用户体验的商店应用. 如果您是企业用户,有公司的代理服务器环境,或者您是开发人员,相信您已经发现了在本地连接更换代理后,所有商店应用都不再能访问网络.这

Windows系统中汉字丢失不见了怎么找回来

  在电脑中安装了Windows后又安装了其他软件,整理硬盘碎片时,系统提示:"硬盘碎片含有错误".用SCANDISK修复后,碎片真的便不能用了,再进入 Windows附件中时,发现其中汉字不见了.经检查没有病毒,再查看SCANDIDSK.LOG文件,提示:"文件夹C:Windows已被损坏---". 根据上述故障现象,中文Windows发生汉字乱码,大多是因注册表中有关汉字显示的内容丢失而造成. ①打开注册表编辑器 (WindowsREGEDIT.EXE), ②再

Windows系统中常用网络命令及命令实例详解

  1.最基本,最常用的,测试物理网络的 PING ping 192.168.0.8 -t ,参数-t是等待用户去中断测试 2.查看DNS.IP.Mac等 A.Win98:winipcfg B.Win2000以上:Ipconfig/all C.NSLOOKUP:如查看河北的DNS C:>nslookup Default Server: ns.hesjptt.net.cn Address: 202.99.160.68 >server 202.99.41.2 则将DNS改为了41.2 > p

谷歌做了两年“小程序”,终于要深度整合到安卓和Windows系统中了

可靠.快速.流畅.安全--这些都是谷歌"小程序"的标签.这项名为Progressive Web Apps.已经推出了两年的技术,在今年很可能走向发扬光大--在谷歌爸爸的助推之下,PWA将获得与Android原生应用同等的待遇与权限,微软的Edge浏览器也宣布将要深度优化.支持PWA.未来谷歌小程序的表现如何,让我们拭目以待吧. 谷歌多年来一直试图增强手机上的网页浏览体验,现在有充分的证据表明这一努力正在取得卓越的成效. 当你拿出移动智能机,利用Facebook浏览新闻故事或打开浏览器查