动态令牌
您可以在任何 Workspace Environment Management 操作 中使用动态令牌,使其功能更强大。
您可以在以下字段中使用动态令牌:
-
应用程序
-
当应用程序类型为安装应用程序时:命令行、工作目录和参数
-
当应用程序类型为文件/文件夹时:目标
-
当应用程序类型为URL时:快捷方式 URL
-
图标文件
-
-
打印机
-
目标路径
-
-
网络驱动器
-
目标路径和显示名称
-
-
虚拟驱动器
-
目标路径
-
-
注册表
-
目标路径、目标名称和目标值
注意:“目标值”字段不支持环境变量扩展。如果使用环境变量,它们将无法按预期工作。 -
-
环境变量
-
变量值
-
-
端口
-
端口目标
-
-
Ini 文件
-
目标路径、目标节、目标值名称和目标值
注意:“目标节”、“目标值名称”和“目标值”字段不支持环境变量扩展。如果使用环境变量,它们将无法按预期工作。 -
-
外部任务
-
路径和参数
-
-
文件系统操作
-
源路径和目标路径
-
-
某些筛选条件
-
示例:如果条件类型为 Active Directory 属性匹配:测试的 Active Directory 属性 和 匹配结果
注意:有关筛选条件支持的字段的完整列表,请参阅筛选条件支持矩阵。 -
字符串操作
有时,您需要在脚本中操作字符串以映射驱动器或启动应用程序。Workspace Environment Management™ 代理接受以下字符串操作:
| 模态 | 描述 | 示例 |
|---|---|---|
| #左(字符串,长度)# | 返回左侧指定数量的字符。 | #Left(abcdef,2)# 返回 ab |
| #右(字符串,长度)# | 返回右侧指定数量的字符。 | #Right(abcdef,2)# 返回 ef |
| #截断(字符串,长度)# | 如果字符串的长度小于或等于指定长度,则返回整个字符串。如果字符串的长度大于指定长度,则返回指定数量的左侧字符。 | #Truncate(abcdef,3)# 返回 abc |
| &修剪(string)& | 删除字符串中所有前导和尾随的空格。 | &Trim( a b c )& 返回 a b c |
| &移除空格(string)& | 删除字符串中所有空格。 | &RemoveSpaces( a b c )& 返回 abc |
| &展开(string)& | 如果字符串包含用 \% 括起来的环境变量,则展开该变量。 | &Expand(%userprofile%\destop)& 返回 C:\Users\Jill\desktop |
| \$Split(string,[splitter],index)\$ | 根据用 [] 括起来的分隔符将字符串拆分为子字符串,并返回索引子字符串。 | $Split(abc-def-hij,[-],2)$ 返回 hij |
| #中间(字符串,起始索引)# | 从字符串中指定索引处开始,并返回其后的所有字符。 | #Mid(abcdef,2)# 返回 cdef |
| !截取(字符串,起始索引,长度)! | 从字符串中指定索引处开始,并返回指定数量的字符。 | !Mid(abcdef,1,2)! 返回 bc |
| !子字符串(字符串,起始索引,长度)! | 从字符串中指定索引处开始,并返回指定数量的字符。 | !Substring(abcdef,1,2)! 返回 bc |
| #Mod(字符串,长度)# | 将字符串除以长度并返回余数。字符串必须能够转换为整数。 | #Mod(7,3)# 返回 1 |
注意:
-
字符串操作也支持哈希标签和 Active Directory 属性。例如:
#Left([ADAttribute:NAME],2)#(其中当前域用户的名称属性为Administrator)返回Ad,$Split(##ClientIPAddress##,[\.],2)$返回157。 -
!Mid(string,startindex,length)!和!Substring(string,startindex,length)!操作始终最后执行。
哈希标签
哈希标签是一种替换功能,广泛用于 Workspace Environment Management 项目的处理。以下示例说明了如何使用哈希标签:
要写入 .ini 文件,您可以在 .ini 文件的路径中使用 %UserName%,Workspace Environment Management 会对其进行处理并展开最终目录。但是,评估 Workspace Environment Management 写入 .ini 文件本身的值更为复杂:您可能希望按字面意思写入 %UserName%,或者写入展开后的值。
为了提高灵活性,##UserName## 作为哈希标签存在,因此将 %UserName% 用作值会按字面意思写入它,而 ##UserName## 会写入展开后的值。
请参阅下表了解示例:
| 标记 | 说明 | 示例 |
|---|---|---|
| ##UserName## | 返回展开的环境变量“%username%” | 吉尔 |
| ##UserProfile## | 返回展开的环境变量“%userprofile%” | C:\Users\Jill |
| ##FullUserName## | 返回用户在 Active Directory 中的全名 | 吉尔·周 |
| ##UserInitials## | 返回用户在 Active Directory 中的姓名首字母 | JC |
| ##UserAppData## | 返回特殊文件夹 - RoamingAppData 的实际路径 | C:\Users\Jill\AppData\Roaming |
| ##UserPersonal## | 返回特殊文件夹 - Documents 的实际路径 | C:\Users\Jill\Documents |
| ##UserDocuments## | 返回特殊文件夹 - Documents 的实际路径 | C:\Users\Jill\Documents |
| ##UserDesktop## | 返回特殊文件夹的实际路径 - 桌面 | C:\Users\Jill\Desktop |
| ##UserFavorites## | 返回特殊文件夹的实际路径 - 收藏夹 | C:\Users\Jill\Favorites |
| ##UserTemplates## | 返回特殊文件夹的实际路径 - 模板 | C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Templates |
| ##UserStartMenu## | 返回特殊文件夹的实际路径 - 开始菜单 | C:\Users\Jill\AppData\Roaming\Microsoft\Windows\开始菜单 |
| ##UserStartMenuPrograms## | 返回特殊文件夹的实际路径 - 程序 | C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Start Menu\Programs |
| ##UserLocalAppData## | 返回特殊文件夹的实际路径 - LocalAppData | C:\Users\Jill\AppData\Local |
| ##UserMusic## | 返回特殊文件夹的实际路径 - Music | C:\Users\Jill\Music |
| ##UserPictures## | 返回特殊文件夹的实际路径 - Pictures | C:\Users\Jill\Pictures |
| ##UserVideos## | 返回特殊文件夹的实际路径 - Videos | C:\Users\Jill\Videos |
| ##UserDownloads## | 返回特殊文件夹的实际路径 - Downloads | C:\Users\Jill\Downloads |
| ##UserLinks## | 返回特殊文件夹的实际路径 - 链接 | C:\Users\Jill\Links |
| ##UserContacts## | 返回特殊文件夹的实际路径 - 联系人 | C:\Users\Jill\Contacts |
| ##UserSearches## | 返回特殊文件夹的实际路径 - 保存的搜索 | C:\Users\Jill\Searches |
| ##常用程序## | 返回特殊文件夹的实际路径 - 常用程序 | C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
| ##ComputerName## | 返回计算机名称 | WIN10EN-LR3B66L |
| ##ClientName## | 返回客户端计算机的名称 | W2K16ST-5IS28JP |
| ##ClientIPAddress## | 返回客户端计算机的 IP 地址 | 10.150.153.138 |
| ##IpAddress## | 返回计算机的 IP 地址 | 10.150.153.213 |
| ##ADSite## | 返回计算机所属的 Active Directory 站点 | NKG |
| ##DefaultRegValue## | - | 始终为 string.Empty |
| ##UserLDAPPath## | 返回当前用户的识别名 | CN=Jill Chou,OU=用户帐户,OU=亚太地区,DC=citrite,DC=net |
| ##VUEMAgentFolder## | 返回代理文件夹 | C:\程序文件 (x86)\Citrix\工作区环境管理代理 |
| ##RDSSessionID## | 返回远程桌面会话 ID | 2 |
| ##RDSSessionName## | 返回远程桌面会话名称 | RDP-Tcp#72 |
| ##ClientRemoteOS## | 返回用于连接虚拟桌面的计算机的操作系统 | 视窗 |
| ##ClientOSInfos## | 返回计算机的操作系统信息 | Windows 10 企业版 64 位 |
哈希标签 ##UserScreenCaptureComment## 用于产品的特定部分。此标签可以包含在“高级设置”>“UI 代理个性化”>“帮助台选项”下的“电子邮件模板”中。包含此标签后,用户会看到一个评论字段,该字段位于代理屏幕捕获实用程序中屏幕捕获的下方。该评论将包含在支持电子邮件中,位于您在电子邮件模板中放置该标签的位置。
活动目录属性
注意:
-
您可以将数字“0”替换为相应的数字,该数字对应于您要在 OU 结构中达到的级别。
-
您可以将变量附加到路径。为此,请确保您具有精确的文件夹结构,该结构与您的 OU 布局匹配。
您还可以将 Active Directory 属性用于筛选目的。在“管理 > 筛选器 > 条件 > 筛选器条件列表”选项卡上,单击“添加”后,可以打开“新建筛选器条件”窗口。在“新建筛选器条件”窗口中,您可以看到以下四种与 Active Directory 属性关联的筛选器条件类型:
-
Active Directory 属性匹配
-
Active Directory 组匹配
-
Active Directory 路径匹配
-
Active Directory 站点匹配
有关示例,请参阅下表:
| 模式 | 描述 | 示例 |
|---|---|---|
| [ADAttribute:attrName] | 返回域用户的指定属性 | [ADAttribute:name] 返回 Administrator |
| [PrinterAttribute:printername|attrName] | 返回指定域打印机的指定属性 | [PrinterAttribute:printer1|name] 返回 printer1 |
| [UserParentOU: level] | 返回当前用户父 OU 的指定级别 | 在 CN=Jill Chou,OU=User Accounts,OU=APAC,DC=citrite,DC=net 中,[UserParentOU:1] 返回 APAC |
注册表
要使用注册表,WEM 会将
[RegistryValue:<Registry path>] 值替换为相关的注册表值。例如,您可以指定以下值:
XML 文件
要使用 XML 文件,WEM 会将
[GetXmlValue:<XML path>|<tag name>] 值替换为 XML 文件中的特定标签值。XML 路径可以是实际路径,也可以是解析为路径的环境变量。您必须用 % 括住环境变量。例如,您可以指定以下值:
-
\[GetXmlValue:C:\citrix\test.xml\|summary\] 或
-
\[GetXmlValue:%xmlpath%\|summary\]
INI 文件
要使用 .ini 文件,WEM 会将
[GetIniValue:<INI path>|<section name in the .ini file>|<key name in the .ini.file>] 替换为键值。INI 路径可以是实际路径,也可以是解析为路径的环境变量。您必须用 % 括住环境变量。例如,您可以指定以下值:
-
\[GetIniValue:C:\citrix\test.ini\|PLD_POOL_LIC_NODE_0_0\|LicExpTime\] 或
-
\[GetIniValue:%inipath%\|PLD_POOL_LIC_NODE_0_0\|LicExpTime\]
更多信息
筛选器条件的兼容性矩阵
下表列出了其测试值或匹配结果支持动态令牌的所有条件类型。
| 条件类型 | 测试值 | 匹配结果 |
|---|---|---|
| 计算机名称匹配 | - | 是 |
| 客户端名称匹配 | - | 是 |
| 环境变量匹配 | 否 | 是 |
| 注册表值匹配 | 是 | 是 |
| WMI 查询结果匹配 | - | 是 |
| XenApp® 场名称匹配 | - | 是 |
| XenApp 区域名称匹配 | - | 是 |
| XenDesktop® 场名称匹配 | - | 是 |
| XenDesktop 桌面组名称匹配 | - | 是 |
| Active Directory 属性匹配 | 是 | 是 |
| 名称或值在列表中 | 是 | 是 |
| 无计算机名称匹配 | - | 是 |
| 无客户端名称匹配 | - | 是 |
| 无环境变量匹配 | 否 | 是 |
| 无注册表值匹配 | 是 | 是 |
| 无 WMI 查询结果匹配 | - | 是 |
| 无 XenApp 场名称匹配 | - | 是 |
| 无 XenApp 区域名称匹配 | - | 是 |
| 无 XenDesktop 场名称匹配 | - | 是 |
| XenDesktop 桌面组名称不匹配 | - | 是 |
| Active Directory 属性不匹配 | 是 | 是 |
| 名称或值不在列表中 | 是 | 是 |
| 动态值匹配 | 是 | 是 |
| 动态值不匹配 | 是 | 是 |
| 文件版本匹配 | 是 | 是 |
| 文件版本不匹配 | 是 | 是 |
| 已发布的资源名称 | - | 是 |
| 名称在列表中 | 是 | 是 |
| 名称不在列表中 | 是 | 是 |
| 文件/文件夹存在 | - | 是 |
| 文件/文件夹不存在 | - | 是 |