您的位置:網站首頁 > 電器維修資料網 > 正文 >
如何解除Win8中的Modern Apps網絡隔離
來源: 日期:2013-11-23 22:17:21 人氣:標簽:
為了實施新的安全性策略,讓 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,它在注冊表的 hkcu\software\classes\local settings\software\microsoft\windows\currentversion\appcontainer\mappings 下面根本就沒有對應的 sid 顯示出來。在上面通過名稱添加 store 豁免,并且查閱豁免列表后,我們發現 store 的 sid=s-1-15-2-2608634532-1453884237-1118350049-1925931850-670756941-1603938316-3764965493.
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 借力GSD/FPGA 嵌入式系統設計省時又省力
- 下一篇: Lumia920攝像頭相關提問