馬上註冊  |  找回密碼

SAY討論區

查看: 301|回復: 7
打印 上一主題 下一主題

如何解除Win8中的Modern Apps網絡隔離 [複製鏈接]

Rank: 7Rank: 7Rank: 7

好友
0
帖子
4928
積分
9785
最後登錄
2018-7-31
在線時間
0 小時
跳轉到指定樓層
樓主
發表於 2012-11-29 10:57:26 |只看該作者 |倒序瀏覽
在 Windows8 中,我們全新引入瞭 WinRT 平臺,帶給用戶包含動態磁貼和沉浸式用戶體驗的 Modern Apps,如果您是企業用戶,有公司的代理服務器環境,或者您是開發人員,相信您已經發現瞭在本地連接更換代理後,所有 Modern Apps 都不再能訪問網絡。這是由於新的 WinRT 運行時的網絡隔離設計造成的。
為瞭實施新的安全性策略,讓 WinRT 平臺上的應用更加安全,Modern Apps 在使用某項功能時,必須事先由開發者聲明。例如要使用網絡連接,就需要聲明,不僅要聲明需要網絡連接,還得聲明清楚需要哪一種類型的連接方式。由於實施瞭網絡隔離,所有的 Modern Apps 默認就不能使用IP環回地址進行進程間通信。當我們在 Internet 設置的連接設置裡,為 LAN 指定瞭代理服務器之後,Modern Apps 也就不能上網瞭,此時隻有桌面版的應用程序才能通過代理服務器上網。(WinRT 有一定的能力能夠檢測到本地網絡的默認代理服務器從而使 Modern Apps 訪問 Internet,但像手動指定瞭 LAN 代理後,它就不能自動檢測到瞭。)
border=
有時候,當公司裡面的默認網絡代理服務器不工作時,IT 管理員可能會要求用戶手動指定另外的 LAN 代理服務器,此時, Modern Apps 都不能上網瞭,著實鬱悶,其實,我們有兩種辦法解除網絡隔離的限制,讓 Modern Apps 在特殊時期也能上網:
法一:使用組策略為網絡隔離環境指定 Internet 代理
打開本地組策略編輯器,展開"計算機配置"-"管理模版"-"網絡"-"網絡隔離",我們可以看見如下幾個設置項:
border=
我們可以編輯"應用的 Internet 代理服務器",來指定一個 Internet 代理。註意,這裡指定的代理得與你在桌面IE選項的連接設置裡指定的LAN代理一致,這樣 Modern Apps 才能具備訪問互聯網的基礎。沒錯,這隻是個基礎,因為,僅指定這一項的話,你添加的代理與系統檢測到的代理是一個並集,由於自動檢測的優先,而在桌面指定瞭 LAN 代理後,自動檢測的代理與手動指定的 LAN 代理不一致,結果還是不能上網。所以為瞭 Modern Apps 能上網,我們還需啟用"代理定義權威"這一項,讓 Modern Apps 隻使用這裡指定的代理。
法二:使用 Win8 內置的調試命令集為具體 App 添加網絡隔離排除
Windows 8 內置瞭一個命令行工具,是為瞭方便 Modern Apps 開發者診斷網絡問題的。我們可以利用它來把某些 Modern Apps 添加到網絡隔離排除列表:
border=
這裡我們使用其中的 LoopbackExempt 參數即可實現我們的需求。對於這個參數,它的使用還有具體的二級參數需要指定。
border=
程序幫助說的很明確瞭,因此這裡不再列表贅述。這裡,我想提醒大家的是,由於 AppContainer 或者程序包的 SID 較難尋找(需要借助註冊表),我個人建議大家使用 –n=[Name] 的方式來通過 AppContainer 或者程序包名來操作網絡隔離豁免。因為獲取名稱的方式很簡單,隻要你打開 %LocalAppData%Packages 路徑,下面的各個文件夾的名稱就是各個 Modern Apps 的名稱,可供使用, 方便復制粘貼。
border=
從圖中可以看出,識別這些 App 究竟對應開始屏幕裡面哪個 Modern App 其實並不難,因為文件夾的部分就是該程序的名稱。例如我們可以看見最後一個,"WinStore_cw5n1h2txyewy",它無疑就是"應用商店"這個應用的內部名稱。
這裡,我們假設現在默認的代理服務器壞瞭,我在桌面環境設置瞭 LAN 代理,這時,我需要使用應用商店更新我的幾個應用程序,那麼,我就要為它添加網絡隔離豁免瞭:執行"CheckNetIsolation.exe LoopbackExempt -a -n=WinStore_cw5n1h2txyewy",便將應用商店添加到豁免列表瞭。
要驗證豁免列表,我們使用"CheckNetIsolation.exe LoopbackExempt -a -s"命令即可:
border=
要刪除某個豁免,將添加豁免的命令中的 -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.
好瞭,由於篇幅有限,這裡對於網絡隔離的介紹很有限,如果您想進一步瞭解網絡隔離,請參考這篇文檔:
http://technet.microsoft.com/zh-cn/ie/hh770532
Windows 8 還能通過 Windows 高級安全防火墻來控制這些 Modern Apps 的網絡訪問規則,關於這一塊,可以進行延伸閱讀:
http://technet.microsoft.com/en-us/library/hh831418.aspx
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
130012
積分
135426
最後登錄
2019-2-28
在線時間
0 小時
No.1回覆者
發表於 2012-11-29 12:28:33 |只看該作者
昨晚多幾分鐘的準備,今天少幾小時的麻煩。  

好友
0
帖子
124670
積分
124754
最後登錄
2019-2-28
在線時間
0 小時
跟尾2
發表於 2012-11-29 13:01:52 |只看該作者
第一次來這論壇..

好友
0
帖子
130341
積分
135748
最後登錄
2019-2-28
在線時間
0 小時
跟尾3
發表於 2012-11-29 13:14:58 |只看該作者
這論壇不錯

好友
0
帖子
129603
積分
134548
最後登錄
2019-2-28
在線時間
0 小時
5#
發表於 2012-11-29 14:30:38 |只看該作者
不怎麼好看

好友
0
帖子
129603
積分
134548
最後登錄
2019-2-28
在線時間
0 小時
6#
發表於 2012-11-30 02:04:36 |只看該作者
誰能送我幾分啊

好友
0
帖子
130553
積分
135811
最後登錄
2019-2-28
在線時間
0 小時
7#
發表於 2012-11-30 04:39:07 |只看該作者
給你打氣加油,謝謝分享

好友
0
帖子
133530
積分
141874
最後登錄
2019-2-28
在線時間
2888 小時
8#
發表於 2012-11-30 09:15:02 |只看該作者
今天再看下
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2026-5-28 08:08 , Processed in 0.968606 second(s), 17 queries .

Powered by go2tutor.comDiscuz! X2

© 2026 Community Networks Limited

回頂部