您可以使用統一資源識別碼 (URI) 來建立網頁或電子郵件連結,讓使用者可以按一下來啟動 Horizon Client、連線至伺服器,或開啟遠端桌面平台或已發佈的應用程式。

藉由建構提供下列一些或全部資訊的 URI,來建立這些連結,這樣您的使用者便無須再提供。

  • 伺服器位址
  • 伺服器的連接埠號碼
  • Active Directory 使用者名稱
  • RADIUS 或 RSA SecurID 使用者名稱 (若與 Active Directory 使用者名稱不同時)
  • 網域名稱
  • 遠端桌面平台或已發佈的應用程式顯示名稱
  • 視窗大小
  • 動作包括重設、登出和啟動工作階段
  • 顯示通訊協定
  • 重新導向 USB 裝置的選項

若要建構 URI,請使用含有 Horizon Client 特定路徑和查詢部分的 vmware-view URI 配置。

若要使用 URI 來啟動 Horizon Client,必須已在用戶端電腦上安裝 Horizon Client

用於建立 vmware-view URI 的語法

URI 語法包括 vmware-view URI 配置、指定遠端桌面平台或已發佈應用程式的路徑部分,以及指定遠端桌面平台或已發佈的應用程式動作或組態選項的查詢 (選用)。

URI 規格

使用下列語法建立 URI 以啟動 Horizon Client

vmware-view://[authority-part][/path-part][?query-part]

唯一所需的元素是 URI 配置,vmware-view。由於部分用戶端作業系統的某些版本會對配置名稱區分大小寫,請輸入 vmware-view

重要: 在所有元件中,必須先依據 UTF-8 [STD63] 編碼非 ASCII 字元,然後對應的 UTF-8 序列的每八位元並需進行百分比編碼,以顯示為 URI 字元。

如需有關 ASCII 字元的編碼資訊,請參閱 URL 編碼參考,網址為 http://www.utf8-chartable.de/

authority-part
伺服器位址,以及選擇性的使用者名稱和/或非預設的連接埠號碼。伺服器名稱中不支援使用底線 (_)。伺服器名稱必須符合 DNS 語法。

若要指定使用者名稱,請使用下列語法。

user1@server-address

您無法指定包含網域的 UPN 位址。若要指定網域,您可以使用 URI 裡的 domainName 查詢部分。

若要指定連接埠號碼,請使用下列語法。

server-address:port-number
path-part
遠端桌面平台或已發佈應用程式的顯示名稱。建立桌面平台集區或應用程式集區時,系統會在 Horizon Console 中指定顯示名稱。如果顯示名稱包含空格,請使用 %20 編碼機制代表空格。
或者,您可以指定桌面平台或應用程式識別碼,這是包含桌面平台或應用程式集區識別碼的路徑字串。若要尋找桌面平台或應用程式識別碼,請在連線伺服器主機上開啟 ADSI Edit 並導覽至 DC=vdi,dc=vmware,dc=int,然後選取 OU=Applications 節點。此時會列出所有的桌面平台和應用程式集區。 distinguishedName 屬性會指定識別碼值。您必須先對識別碼值進行編碼,再將其指定於 URI 中,例如 cn%3Dwin7-32%2Cou%3Dapplications%2Cdc%3Dvdi%2Cdc%3Dvmware%2Cdc%3Dint
如果您指定桌面平台或應用程式識別碼,即使桌面平台或應用程式識別碼在 ADSI Edit 中包含大寫字母,仍必須僅使用小寫字母。
備註: 多個遠端桌面平台或已發佈的應用程式可以有相同的顯示名稱,但桌面平台和應用程式識別碼必須是唯一的。若要指定特定的遠端桌面平台或已發佈的應用程式,請使用桌面平台或應用程式識別碼而非顯示名稱。
query-part
要使用的組態選項,或是要執行的遠端桌面平台或已發佈的應用程式動作。查詢不區分大小寫。若要使用多項查詢,請在查詢之間使用 & 符號。如果查詢發生衝突, Horizon Client 會使用清單中的最後一個查詢。請使用下列語法。
query1=value1[&query2=value2...]

支援的查詢

此類型的 Horizon Client 支援下列查詢。如果您要為多種類型的用戶端 (例如,桌面平台用戶端和行動用戶端) 建立 URI,請參閱各類用戶端系統的指南文件,以取得支援的查詢清單。

動作
表 1. 可與 action 查詢搭配使用的值
說明
browse 顯示指定的伺服器上主控的可用遠端桌面平台和已發佈的應用程式清單。使用此動作時,您不需要指定遠端桌面平台或已發佈的應用程式。
start-session 開啟指定的遠端桌面平台或已發佈的應用程式。如果未提供任何動作查詢,且提供了遠端桌面平台或已發佈的應用程式名稱,start-session 即為預設的動作。
reset

關閉並重新啟動指定的遠端桌面平台或已發佈的應用程式。尚未儲存的資料會遺失。重設遠端桌面平台等同於按下實體 PC 上的 [重設] 按鈕。

restart 關閉並重新啟動指定的遠端桌面平台。重新啟動遠端桌面平台等同於 Windows 作業系統重新啟動命令。作業系統通常會在重新啟動之前提示使用者儲存任何未儲存的資料。
logoff 將使用者從遠端桌面平台的客體作業系統登出。如果您指定已發佈的應用程式,則該動作將被忽略,或使用者會看到警告訊息「URI 動作無效」。
args
指定在已發佈的應用程式啟動時所要新增的命令列引數。使用語法 args= value,其中 value 為字串。針對下列字元使用百分比編碼:
  • 冒號 (:) 請使用 %3A
  • 反斜線 (\) 請使用 %5C
  • 空格 ( ) 請使用 %20
  • 雙引號 (") 請使用 %22

例如,若要為 Notepad++ 應用程式指定檔案名稱 "My new file.txt",請使用 %22My%20new%20file.txt%22

appProtocol
就已發佈的應用程式而言,有效值為 PCOIPBLAST。例如,若要指定 PCoIP,請使用語法 appProtocol=PCOIP
connectUSBOnInsert
當您插入 USB 裝置時,會將該裝置連線至前景遠端桌面平台或已發佈的應用程式。如果您為遠端桌面平台指定 unattended 查詢,則會隱含地設定此查詢。若要使用此查詢,您必須將 action 查詢設定成 start-session 或者不要有 action 查詢。有效值為 truefalse。語法範例為 connectUSBOnInsert=true
connectUSBOnStartup
將目前連線至用戶端系統的所有 USB 裝置重新導向至遠端桌面平台或已發佈的應用程式。如果您為遠端桌面平台指定 unattended 查詢,則會隱含地設定此查詢。若要使用此查詢,您必須將 action 查詢設定成 start-session 或者不要有 action 查詢。有效值為 truefalse。語法範例為 connectUSBOnStartup=true
desktopLayout
設定遠端桌面平台視窗的大小。若要使用此查詢,您必須將 action 查詢設定為 start-session 或不要有 action 查詢。
表 2. desktopLayout 查詢的有效值
說明
fullscreen 一台監視器上全螢幕顯示。此值為預設值。
multimonitor 所有監視器上全螢幕顯示。
windowLarge 大視窗。
windowSmall 小視窗。
WxH 自訂解析度,以畫素單位指定寬度乘高度。語法範例為 desktopLayout=1280x800
desktopProtocol
針對遠端桌面平台,有效值為 RDPPCOIPBLAST。例如,若要指定 PCoIP,請使用語法 desktopProtocol=PCOIP
domainName
指定與連線至遠端桌面平台或已發佈應用程式的使用者相關聯的 NETBIOS 網域名稱。例如,您可以使用 mycompany 而非 mycompany.com
filePath
指定您要以已發佈的應用程式開啟的檔案在本機系統上的路徑。您必須指定完整路徑,包括磁碟機代號在內。針對下列字元使用百分比編碼:
  • 冒號 (:) 請使用 %3A
  • 反斜線 (\) 請使用 %5C
  • 空格 ( ) 請使用 %20

例如,若要代表檔案路徑 C:\test file.txt,請使用 C%3A%5Ctest%20file.txt

launchMinimized
以最小化模式啟動 Horizon ClientHorizon Client 會維持最小化狀態,直到指定的遠端桌面平台或已發佈的應用程式啟動為止。語法為 launchMinimized=true。您無法透過 自動查詢來使用此查詢。
tokenUserName
指定 RSA 或 RADIUS 使用者名稱。唯有 RSA 或 RADIUS 使用者名稱和 Active Directory 使用者名稱不同時,才使用此查詢。如果您未指定此查詢,但需要進行 RSA 或 RADIUS 驗證,則 Horizon Client 會使用 Windows 使用者名稱。語法是 tokenUserName=name
unattended
在 Kiosk 模式中建立伺服器與遠端桌面平台的連線。如果您使用此查詢,則從用戶端裝置的 MAC 位址產生帳戶名稱時,請勿指定使用者資訊。如果您已在 ADAM 中建立自訂帳戶名稱 (如開頭為「custom-」的名稱),則必須指定帳戶資訊。
useExisting
如果此選項設定為 true,則只能執行一個 Horizon Client 執行個體。如果使用者嘗試連線至第二個伺服器,他們必須先登出第一個伺服器,而造成遠端桌面平台和已發佈的應用程式工作階段中斷連線。如果此選項設定為 false,則可執行多個 Horizon Client 執行個體,使用者也可同時連線至多個伺服器。預設值是 true。語法範例為 useExisting=false
unauthenticatedAccessEnabled
如果此選項設為 true,則依預設會啟用「未驗證存取」功能。 未驗證存取選項會顯示在使用者介面中,並且已選取。如果此選項設為 false,則會停用「未驗證存取」功能。 未驗證存取設定會隱藏並停用。此選項設為 "" 時,將會停用「未驗證存取」功能,並且在使用者介面中隱藏並停用 未驗證存取設定。語法範例為 unauthenticatedAccessEnabled=true
unauthenticatedAccessAccount
如果「未驗證存取」功能已啟用,將會設定要使用的帳戶。如果停用未驗證存取,則會忽略此查詢。使用 anonymous1 使用者帳戶的語法範例為 unauthenticatedAccessAccount=anonymous1

vmware-view URI 範例

您可以使用 vmware-view URI 配置建立超文字連結或按鈕,並在電子郵件中或網頁上加入這些連結。例如,使用者可以按一下 URI 連結,以使用您指定的啟動選項來啟動遠端桌面平台。

在每個 URI 範例後均會說明使用者在按下 URI 連結後會看見的情形。

  1. vmware-view://view.mycompany.com/Primary%20Desktop?action=start-session

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。[登入] 對話方塊會提示使用者輸入使用者名稱、網域名稱和密碼。成功登入之後,用戶端會連線至顯示名稱為主要桌面平台的遠端桌面平台,且使用者會登入客體作業系統。

    備註: 在此範例中,系統會使用預設的顯示通訊協定和視窗大小。預設顯示通訊協定為 PCoIP,而預設視窗大小為全螢幕。
  2. vmware-view://view.mycompany.com/cn%3Dwin7-32%2Cou%3Dapplications%2Cdc%3Dvdi%2Cdc%3Dvmware%2Cdc%3Dint

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。[登入] 對話方塊會提示使用者輸入使用者名稱、網域名稱和密碼。成功登入後,用戶端會連線至遠端桌面平台,且其桌面平台識別碼為 CN=win7-32,OU=Applications,DC=vdi,DC=vmware,DC=int (編碼值 cn%3Dwin7-32%2Cou%3Dapplications%2Cdc%3Dvdi%2Cdc%3Dvmware%2Cdc%3Dint)。

  3. vmware-view://view.mycompany.com:7555/Primary%20Desktop

    除了針對連線伺服器執行個體採用非預設的連接埠 7555 之外,此 URI 與先前的範例具有同樣的效果。(預設連接埠為 443。)因為提供了遠端桌面平台識別碼,儘管 URI 中並未包含 start-session 動作,遠端桌面平台仍會開啟。

  4. vmware-view://[email protected]/Finance%20Desktop?desktopProtocol=PCOIP

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。在 [登入] 對話方塊中,使用者名稱文字方塊填入了 fred。該使用者必須提供網域名稱及密碼。成功登入之後,用戶端會連線至顯示名稱為財務桌面平台的遠端桌面平台,且使用者會登入客體作業系統。該連線採用 PCoIP 顯示通訊協定。

  5. vmware-view://view.mycompany.com/Calculator?action=start-session&appProtocol=BLAST

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。在 [登入] 對話方塊中,使用者必須提供使用者名稱、網域名稱和密碼。成功登入之後,用戶端會連線至顯示名稱為計算器的已發佈應用程式。該連線採用 VMware Blast 顯示通訊協定。

  6. vmware-view://[email protected]/Finance%20Desktop?domainName=mycompany

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。在 [登入] 對話方塊中,使用者名稱文字方塊中填入了 fred,且網域文字方塊填入了 mycompany。該使用者僅必須提供密碼。成功登入之後,用戶端會連線至顯示名稱為財務桌面平台的遠端桌面平台,且使用者會登入客體作業系統。

  7. vmware-view://view.mycompany.com/

    Horizon Client 會啟動,並且會向使用者顯示連線至 view.mycompany.com 伺服器的登入提示。

  8. vmware-view://view.mycompany.com/Primary%20Desktop?action=reset

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。[登入] 對話方塊會提示使用者輸入使用者名稱、網域名稱和密碼。成功登入後,Horizon Client 會重設指定的桌面平台。

    備註: 只有在 Horizon 管理員已為遠端桌面平台啟用重設功能時,才可使用此動作。
  9. vmware-view://view.mycompany.com/Primary%20Desktop?action=restart

    Horizon Client 會啟動並連線至 view.mycompany.com 伺服器。[登入] 對話方塊會提示使用者輸入使用者名稱、網域名稱和密碼。成功登入後,Horizon Client 會重新啟動指定的桌面平台。

    備註: 只有在 Horizon 管理員已為遠端桌面平台啟用重新啟動功能時,才可使用此動作。
  10. vmware-view://view.mycompany.com/Primary%20Desktop?action=start-session&connectUSBOnStartup=true
    此 URI 和第一個範例具有同樣的效果,並會將連線到用戶端系統的所有 USB 裝置重新導向至遠端桌面平台。
  11. vmware-view://

    如果 Horizon Client 未執行,則會開始執行。如果 Horizon Client 已在執行中,則會移至前景。

  12. vmware-view://10.10.10.10/My%20Notepad++?args=%22My%20new%20file.txt%22

    在伺服器 10.10.10.10 上啟動 My Notepad++,並將引數 My new file.txt 傳遞至已發佈應用程式的啟動命令中。空格和雙引號會使用百分比逸出。由於檔案名稱包含空格,因此會以雙引號括住。

    您也可以使用下列語法,在 Windows 命令列提示字元中輸入此命令:
    vmware-view.exe --serverURL 10.10.10.10 --appName "My Notepad++" --args "\"my new.txt\""
    在此範例中,雙引號會使用字元 \" 的方式逸出。
  13. vmware-view://10.10.10.10/Notepad++%2012?args=a.txt%20b.txt

    在伺服器 10.10.10.10 上啟動 Notepad++ 12,並將引數 a.text b.txt 傳遞至已發佈應用程式的啟動命令中。由於引數未以引號括住,因此會以空格分隔多個檔案名稱,且兩個檔案會在 Notepad++ 中個別開啟。

    備註: 已發佈應用程式在使用命令列引數的方式上可能有所不同。例如,如果您將引數 a.txt b.txt 傳遞至 WordPad,WordPad 將只會開啟一個 a.txt 檔案。
  14. vmware-view://view.mycompany.com/Notepad?unauthenticatedAccessEnabled=true&unauthenticatedAccessAccount=anonymous1

    Horizon Client 會使用 anonymous1 使用者帳戶啟動並連線至 view.mycompany.com 伺服器。「記事本」應用程式會在未提示使用者提供登入認證的情況下啟動。

HTML 程式碼範例

您可以使用 URI 建立超文字連結和按鈕,並加入至電子郵件或網頁中。以下範例顯示如何使用第一個 URI 範例中的 URI,對標示為測試連結的超文字連結和標示為測試按鈕的按鈕進行編碼。

<html>
<body>

<a href="vmware-view://view.mycompany.com/Primary%20Desktop?action=start-session">Test Link</a><br>

<form><input type="button" value="TestButton" onClick="window.location.href=
'vmware-view://view.mycompany.com/Primary%20Desktop?action=start-session'"></form> <br>

</body>
</html>