17.7. 漫游办公

17.7.1. 漫游办公行为
17.7.2. 位置识别

本部分介绍漫游办公时可用于管理 Windows 会话的各种方法。

17.7.1. 漫游办公行为

您可使用 uttsc 命令指定当用户漫游办公到其他客户端时,Windows 会话将作何反应。可以使用 -H 选项设置该行为。

这些模式包括:

  • -H reconnect-如果远程桌面服务器在设备客户端访问许可模式下配置,则对 Sun Ray 会话进行漫游办公会先断开现有远程桌面会话的连接,然后再重新连接。用户必须重新输入凭证。这是默认模式。

  • -H nodisconnect-对 Sun Ray 会话进行漫游办公不会先断开远程桌面会话的连接并重新启动。远程桌面会话保持连接状态。以前为 -O 选项。

  • -H autoreconnect-如果在 Windows 远程桌面服务器上启用了自动重新连接功能,则对 Sun Ray 会话进行漫游办公总是会重新连接远程桌面会话。此操作更新远程桌面服务器上的客户端信息。用户无需重新输入凭证。有关更多信息,请参见第 17.10 节 “自动重新连接”

17.7.2. 位置识别

位置识别是一种为 Windows 会话提供附加漫游办公功能的特性,它允许您:

  • 会话启动(甚至漫游办公)后在 Windows 会话中获取唯一客户端名称。在漫游办公期间会转发客户端名称。

  • 通过命令或脚本设置以下时期要在 Windows 会话中执行的操作:关联客户端会话在漫游办公期间断开连接和重新连接时。会话启动时也会执行为重新连接设置的操作。

注意

在 Windows 连接器上下文中,客户端名称为 Sun Ray Client 或 Oracle Virtual Desktop Client 的客户端 ID(也称为 DTU ID)。有关更多详细信息,请参见第 13.1.1 节 “Oracle Virtual Desktop Client 和 Sun Ray Client 之间客户端 ID 的区别”

在某些情况下,有了此功能,则无需在 Sun Ray 服务器操作系统级别使用 utaction,例如设置跟随 (Follow-Me) 打印。

位置识别设置多个环境变量,在 Windows 会话中执行操作时可以使用这些变量。表 17.7 列出了环境变量以及它们包含的信息。

表 17.7. 位置识别环境变量

环境变量

说明

UTCINFO_CLIENTIPA

Sun Ray Client 或 Oracle Virtual Desktop Client 的 IP 地址。

UTCINFO_CLIENTNAME

Sun Ray Client 或 Oracle Virtual Desktop Client 的客户端 ID。

UTCINFO_CLIENTLOCATION

客户端的位置,由 Sun Ray 服务器管理员定义。有关详细信息,请参见第 13.1.6 节 “如何配置客户端的位置和信息”

UTCINFO_CLIENTOTHERINFO

有关客户端的其他信息,由 Sun Ray 服务器管理员定义。有关详细信息,请参见第 13.1.6 节 “如何配置客户端的位置和信息”


当会话启动或重新连接时,会将 UTCINFO_CLIENTNAME 变量的值复制到 Windows CLIENTNAME 环境变量和 HKey_Current_User\Volatile Environment\CLIENTNAME 注册表项中。

要启用位置识别,您必须使用 Sun Ray Windows 组件安装程序在 Windows 系统上安装客户端信息代理,这在第 3.2.7 节 “如何在 Windows 系统上安装 Windows 连接器组件”中有介绍。安装后,默认情况下会启用位置识别,启动 Windows 会话时会自动使用位置识别。

17.7.2.1. 在 Windows 会话中获取客户端名称

位置识别功能允许您在会话启动(甚至漫游办公)后获取客户端的名称。客户端名称可用于各种配置方案。可以使用标准 Windows 接口之一获取客户端的名称:

  • CLIENTNAME 环境变量。

  • HKCU\Volatile Environment\CLIENTNAME 注册表项。

  • 在 Windows 桌面会话中使用 GetComputerName() 函数。

  • 在终端服务会话中使用 WTSSessionQueryInformation() 函数。

17.7.2.2. 为 Windows 会话设置操作

位置识别功能允许您设置以下时期要在 Windows 会话中执行的命令或脚本:关联客户端会话在漫游办公期间断开连接或重新连接时以及 Windows 会话启动时。为此,请以管理员身份为以下注册表项指定一个或多个注册表值,即 name=data 对:

对于 32 位系统
  • 对于会话断开连接-HKLM\Software\Oracle\Sun Ray\ClientInfoAgent\DisconnectActions

  • 对于会话重新连接和会话启动-HKLM\Software\Oracle\Sun Ray\ClientInfoAgent\ReconnectActions

对于 64 位系统
  • 对于会话断开连接-HKLM\Software\Wow6432Node\Oracle\Sun Ray\ClientInfoAgent\DisconnectActions

  • 对于会话重新连接和会话启动-HKLM\Software\Wow6432Node\Oracle\Sun Ray\ClientInfoAgent\ReconnectActions

小心

在修改注册表项之前,务必在 Windows 系统上备份注册表。

下面是上述注册表项的注册表值的一些示例,其中 Commandn 名称用于表示顺序。

Command1=notepad.exe
Command2=wscript.exe c:\tmp\myscript.vbs

data 值指定要执行的命令或脚本,您可以指定 "String" 或 REG_SZ 值类型。

对于可执行命令(例如 .exe 文件),您可以指定绝对路径。如果您不提供路径,则按照以下顺序搜索可执行文件:当前目录、Windows 系统目录、Windows 目录和 PATH 环境中的目录。

对于脚本,您应该指定要在解释器或 shell 中运行的脚本,脚本路径必须为绝对路径。例如 cmd.exe /c c:\foo\script.batwscript.exe c:\foo\script2.vbs

17.7.2.3. 位置识别示例

在现实情况中使用位置识别的方法有许多种。下面只不过列出了几个示例。

  • 医疗服务提供商需要访问每个病人房间中的本地打印机。通过 ReconnectActions 注册表项,您可以指定每当医疗服务提供商登录到房间的 Sun Ray Client 时要运行的脚本。对于这种情况,可能需要创建脚本以读取新的客户端名称(Sun Ray Client 的唯一 ID),执行查找以确定房间中的打印机,然后将 Windows 会话的默认打印机配置为房间中的打印机。还可以使用 DisconnectActions 注册表项运行另一个脚本,在医疗服务提供商从 Sun Ray Client 断开连接时删除当前配置的打印机。

  • 一名讲师希望在学生登录时自动显示学生的每日课程表和实验说明。知道培训教室中 Sun Ray Client 的客户端名称后,您可以设置脚本以在学生登录到教室中的任何 Sun Ray Client 时自动显示培训内容。同样,此脚本可以通过 ReconnectActions 注册表项运行。