如何解除Windows 8中的Modern Apps網路隔離

來源:互聯網
上載者:User

   在 Windows 8 中,我們全新引入了 WinRT 平台,帶給使用者包含動態磚和沈浸式使用者體驗的 Modern Apps。

  如果您是企業使用者,有公司的Proxy 伺服器環境,或者您是開發人員,相信您已經發現了在本地串連更換代理後,所有 Modern Apps 都不再能訪問網路。這是由於新的 WinRT 運行時的網路隔離設計造成的。

  為了實施新的安全性策略,讓 WinRT 平台上的應用更加安全,Modern Apps 在使用某項功能時,必須事先由開發人員聲明。例如要使用網路連接,就需要聲明,不僅要聲明需要網路連接,還得聲明清楚需要哪一種類型的串連方式。由於實施了網路隔離,所有的 Modern Apps 預設就不能使用IP迴路位址進行處理序間通訊。當我們在 Internet 設定的串連設定裡,為 LAN 指定了Proxy 伺服器之後,Modern Apps 也就不能上網了,此時只有案頭版的應用程式才能通過Proxy 伺服器上網。(WinRT 有一定的能力能夠檢測到本網的預設Proxy 伺服器從而使 Modern Apps 訪問 Internet,但像手動指定了 LAN 代理後,它就不能自動檢測到了。)

  有時候,當公司裡面的預設網路Proxy 伺服器不工作時,IT 管理員可能會要求使用者手動指定另外的 LAN Proxy 伺服器,此時, Modern Apps 都不能上網了,著實鬱悶,其實,我們有兩種辦法解除網路隔離的限制,讓 Modern Apps 在特殊時期也能上網:

  法一:使用組策略為網路隔離環境指定 網際網路代理程式

  開啟本機群組原則編輯器,展開"電腦配置"-"管理模版"-"網路"-"網路隔離",我們可以看見如下幾個設定項:

  我們可以編輯"應用的 網際網路代理程式伺服器",來指定一個 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",它無疑就是"市集"這個應用的內部名稱。

  這裡,我們假設現在預設的Proxy 伺服器壞了,我在案頭環境設定了 LAN 代理,這時,我需要使用市集更新我的幾個應用程式,那麼,我就要為它添加網路隔離豁免了:執行"CheckNetIsolation.exe LoopbackExempt -a -n=WinStore_cw5n1h2txyewy",便將市集添加到豁免列表了。

  要驗證豁免列表,我們使用"CheckNetIsolation.exe LoopbackExempt -a -s"命令即可:

  要刪除某個豁免,將添加豁免的命令中的 -a 參數換為 -d 即可,要快速全部清除列表內容,執行"CheckNetIsolation.exe LoopbackExempt -c"。

  比較以上兩種辦法,我個人還是建議大家使用第二種辦法。原因有兩個:

  其一,組策略法中,無法為隔離網路指定Proxy 伺服器的代理連接埠,所以,使用非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.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.