共用方式為


透過遠端桌面通訊協定設定位置重新導向

提示

本文適用於使用遠端桌面通訊協定 (RDP) 來提供 Windows 桌面和應用程式遠端存取的服務和產品。

使用本文頂端的按鈕來選取產品,以顯示相關內容。

您可以透過遠端桌面通訊協定 (RDP) ,設定從本機裝置到遠端會話的位置資訊重新導向行為。 使用者的位置對於某些應用程式來說很重要,例如瀏覽器中的對應和區域服務。 若未重新導向位置資訊,遠端會話的位置會位於用戶連線到遠端會話的數據中心附近。

針對 Azure 虛擬桌面,必須在下列位置設定位置重新導向。 如果這些元件中的任何一個未正確設定,位置重新導向將無法如預期般運作。 您可以使用 Microsoft Intune 或 群組原則 來設定工作階段主機和本機裝置。

  • 會話主機
  • 主機集區 RDP 屬性
  • 本機裝置

針對 Windows 365,必須在雲端計算機和本機裝置上設定位置服務。 如果其中一個元件未正確設定,位置重新導向將無法如預期般運作。 您可以使用 Microsoft Intune 或 群組原則 來設定雲端電腦和本機裝置。 Windows 365 允許位置重新導向。

針對 Microsoft 開發人員箱,必須在開發人員方塊和本機裝置上設定位置服務。 如果其中一個元件未正確設定,位置重新導向將無法如預期般運作。 您可以使用 Microsoft Intune 或 群組原則 來設定開發人員方塊和本機裝置。 Microsoft Dev Box 允許位置重新導向。

重要事項

重新導向的經度和緯度資訊精確度為1公尺。 水平精確度目前設定為10公里,因此使用水平精確度值的應用程式可能會報告無法判斷精確位置。

本文提供支援之重新導向方法的相關信息,以及如何設定位置資訊的重新導向行為。 若要深入瞭解重新導向的運作方式,請參閱 透過遠端桌面通訊協定重新導向。

必要條件

設定位置重新導向之前,您需要:

  • 現有主機集區,其中會話主機執行 Windows 11 企業版 或 Windows 11 企業版 多重會話版本 22H2 或更新版本。

  • 指派桌面虛擬主機集區參與者內建角色型訪問控制的 Microsoft Entra ID 帳戶, (主機集區上的 RBAC) 角色。

  • 執行 Windows 11 企業版 22H2 版或更新版本的現有雲端電腦。
  • 執行 Windows 11 企業版 版本 22H2 或更新版本的現有開發方塊。

會話主機設定

若要設定位置重新導向的會話主機,您需要啟用和設定位置服務。 您可以使用 Microsoft Intune 或 群組原則 來執行此動作。

重要事項

如果您使用多重會話版本的 Windows,當您在工作階段主機上啟用位置服務時,它會針對所有使用者啟用。 您可以根據您的需求,指定哪些應用程式可以根據每個使用者存取位置資訊。

雲端電腦設定

若要設定雲端電腦進行位置重新導向,您需要啟用和設定位置服務。 您可以使用 Microsoft Intune 或 群組原則 來執行此動作。

開發人員方塊組態

若要設定位置重新導向的開發方塊,您需要啟用和設定位置服務。 您可以使用 Microsoft Intune 或 群組原則 來執行此動作。

選取您案例的相關索引標籤。

若要使用 Microsoft Intune 啟用位置服務:

  1. 登入 Microsoft Intune 系統管理中心

  2. 使用 [設定] 目錄配置檔類型,建立或編輯Windows 10 和更新版本裝置的組態配置檔。

  3. 在 [設定選擇器] 中,選取 [ 系統]。 核取 [ 允許位置] 方塊,然後關閉設定選擇器。

    顯示 Microsoft Intune 入口網站中裝置和資源重新導向選項的螢幕快照。

  4. 展開 [系統] 類別,然後從下拉功能表中選取 [ 強制位置開啟]。所有位置隱私權設定都會切換為開啟,並呈現灰色。使用者無法變更設定,而且會自動隱藏所有同意許可權

  5. 選取 [下一步]

  6. 選用:在 [ 範圍卷標] 索引標籤 上,選取範圍標籤以篩選配置檔。 如需範圍標籤的詳細資訊,請參閱針對分散式 IT 使用角色型存取控制 (RBAC) 和範圍標籤

  7. 在 [ 指派] 索引標籤 上,選取包含提供您要設定之遠端會話之計算機的群組,然後選取 [ 下一步]

  8. 在 [ 檢閱 + 建立] 索引標籤上檢閱設定,然後選取 [ 建立]

  9. 一旦原則套用至提供遠端會話的計算機,請重新啟動它們,讓設定生效。

  10. 您必須啟用 [ 允許位置覆寫 ] 位置設定,以便在遠端會話中更新位置,您可以藉由設定登錄值並設定每個使用者來執行此動作。 使用者仍然可以在 Windows 位置設定中變更此設定。

    若要這麼做,您可以建立PowerShell腳本,並使用它作為 Intune中的自定義腳本補救。 當您建立自定義腳本補救時,必須將 [使用登入認證執行此腳本 ] 設定為 [ 是]

    try
    {
        New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\CPSS\Store\UserLocationOverridePrivacySetting" -Name Value -PropertyType DWORD -Value 1 -Force
        exit 0
    }
    catch{
        $errMsg = $_.Exception.Message
        Write-Error $errMsg
        exit 1
    }
    
  11. 進行變更之後,Windows 設定應用程式中的位置服務看起來應該類似下圖:

    顯示 Windows 設定應用程式中位置設定的螢幕快照。

主機集區設定

Azure 虛擬桌面主機集區設定 位置服務重新導向 會控制是否要將位置資訊從本機裝置重新導向至遠端會話。 對應的 RDP 屬性為 redirectlocation:i:<value>。 如需詳細資訊,請參閱 支援的 RDP 屬性

若要使用主機集區 RDP 屬性來設定位置重新導向:

  1. 登入 Azure 入口網站

  2. 在搜尋列中,輸入 Azure 虛擬桌面 ,然後選取相符的服務專案。

  3. 選取 [主機集區],然後選取您要設定的主機集區。

  4. 取 [RDP 屬性],然後選取 [ 裝置重新導向]

    顯示 Azure 入口網站 中主機集區裝置重新導向索引標籤的螢幕快照。

  5. 針對 [位置服務重新導向],選取下拉式清單,然後選取 [ 從本機裝置啟用位置共用],然後重新導向至遠端會話中的應用程式

  6. 選取 [儲存]

本機裝置設定

您必須使用支援的應用程式和平台連線到遠端會話,並在本機裝置上啟用位置服務。 達成此目的的方式取決於您的需求、您使用的平臺,以及裝置是受控還是非受控。

若要檢視 Windows App 和遠端桌面應用程式中的重新導向支援,請參閱比較跨平臺和裝置的 Windows App 功能比較跨平臺和裝置的遠端桌面應用程式功能

在 Windows 上,您可以在 Windows 設定應用程式中啟用位置服務。 如需詳細資訊,請參閱 Windows 位置服務和隱私權。 本文中使用 Intune 和 群組原則 在遠端會話中啟用位置服務的步驟,也可以套用至本機 Windows 裝置。

若要在其他平台上啟用定位服務,請參閱相關製造商的檔。

測試位置重新導向

設定工作階段主機、主機集區 RDP 屬性和本機裝置之後,您可以測試位置重新導向。

設定雲端電腦和本機裝置之後,您可以測試位置重新導向。

設定開發人員方塊和本機裝置之後,您可以測試位置重新導向。

若要測試位置重新導向:

  1. 在支援位置重新導向的平臺上,使用視窗應用程式或遠端桌面應用程式連線到遠端工作階段。 如需詳細資訊,請參閱比較跨平臺和裝置 Windows App 功能比較跨平臺和裝置的遠端桌面應用程式功能

  2. 檢查使用者的位置資訊是否可在遠端會話中使用。 以下是一些檢查方式:

    1. 開啟網頁瀏覽器並移至使用位置資訊的網站,例如 Bing 地圖服務。 在 Bing 地圖服務 中,選取 [尋找我] 按鈕的圖示。 網站應該會將使用者的位置顯示為本機裝置的位置。

    2. 在遠端會話中開啟 PowerShell 提示字元,然後執行下列命令以取得緯度和經度值。 您也可以在本機 Windows 裝置上執行這些命令,以檢查它們是否一致。

      Add-Type -AssemblyName System.Device
      $GeoCoordinateWatcher = New-Object System.Device.Location.GeoCoordinateWatcher
      $GeoCoordinateWatcher.Start()
      
      Start-Sleep -Milliseconds 500
      
      If ($GeoCoordinateWatcher.Permission -eq "Granted") {
          While ($GeoCoordinateWatcher.Status -ne "Ready") {
              Start-Sleep -Milliseconds 500
          }
          $GeoCoordinateWatcher.Position.Location | FL Latitude, Longitude
      } else {
          Write-Output "Desktop apps aren't allowed to access your location. Please enable access."
      }
      

      輸出類似下列範例:

      Latitude           : 47.64354
      Longitude          : -122.13082