动态令牌

您可以在任何 Workspace Environment Management 中使用动态令牌 行动 使它们更强大。

您可以在以下字段中使用动态令牌:

  • 组策略设置

    • 行动 设置为 删除 价值: 价值
    • 行动 设置为 设置值类型 设置为 REG_SZ:价值、数据
    • 行动 设置为 设置值类型 设置为 REG_EXPAND_SZ:价值、数据
    • 行动 设置为 设置值类型 设置为 REG_MULTI_SZ:价值、数据

注意:

组策略设置有两种类型:计算机设置和用户设置。 对于计算机设置,不支持某些动态令牌。 看 组策略设置的动态令牌支持.

对组策略设置的动态令牌支持

在 中使用动态令牌 组策略设置 允许在不同环境中进行适应性更强的策略配置,减少手动配置,并简化策略管理。

组策略设置有两种类型:

  • 计算机设置。 这些设置仅适用于计算机,无论谁登录计算机。
  • 用户设置。 这些设置仅适用于用户,无论他们登录到哪台计算机。

组策略设置支持所有动态令牌。 计算机设置不支持以下选项。

  • 主题标签

    • ##FullUserName##
    • ##UserInitials##
    • ##ClientName##
    • ##ClientIPAddress##
    • ##UserLDAPPath##
    • ##ClientRemoteOS##
  • ADAttribute
    • [ADAttribute:attrName]
    • [UserParentOU: 级别]
  • HKCU 下的注册机构

Applications

  • 安装应用程序 作为应用程序类型: 命令行, 工作目录参数
  • 文件/文件夹 作为应用程序类型: 目标
  • 网址 作为应用程序类型: 快捷方式 URL
  • 图标文件

打印机

  • 目标路径

网络驱动器

  • 目标路径显示名称

虚拟驱动器

  • 目标路径

登记处

  • 目标路径, Target 名称目标值

注意:

目标值 Field 不支持环境变量扩展。 如果您使用环境变量,它们将无法按预期工作。

环境变量

  • 变量值

端口

  • 端口目标

Ini 文件

  • 目标路径, 目标部分, 目标值名称目标值

注意:

目标部分, 目标值名称目标值 字段不支持环境变量扩展。 如果您使用环境变量,它们将无法按预期工作。

外部任务

  • 路径参数

文件系统操作

  • 源路径目标路径

某些筛选条件

  • 示例:使用 Active Directory 属性匹配* 作为条件类型:测试的 Active Directory 属性** 和 匹配结果

注意:

有关筛选条件支持的字段的完整列表,请参阅 筛选条件的可支持性矩阵.

字符串操作

有时,您需要在脚本中操作字符串来映射驱动器或启动应用程序。 Workspace Environment Management 代理接受以下字符串操作:

模 态 说明 示例
#Left(字符串,长度)# 返回左侧的指定字符数。 #Left(abcdef,2)# 返回 血型
#Right(字符串,长度)# 返回右侧指定的字符数。 #Right(abcdef,2)# 返回 英 孚
#Truncate(字符串,长度)# 如果字符串的长度小于或等于指定的长度,则返回整个字符串。 如果字符串的长度大于指定的长度,则在左侧返回指定的字符数。 #Truncate(abcdef,3)# 返回 美国广播公司
&修剪 (字符串)& 删除字符串的所有前导和尾随空格。 &Trim(修剪)& 返回 a b c
&删除空格(字符串)& 删除字符串的所有空格。 &删除空格 ( a b c )& 返回 美国广播公司
&扩展(字符串)& 如果字符串包含用 \% 括起来的环境变量,则扩展该变量。 &展开(%userprofile%\destop)& 返回 C:\Users\Jill\desktop
$Split(字符串,拆分器],索引)$ 根据用 [] 括起来的分隔线将字符串拆分为子字符串,并返回索引的子字符串。 $Split(abc-def-hij,[-],2)$ 返回
#Mid(字符串,startindex)# 从字符串中的指定索引开始,并返回其后的所有字符。 #Mid(abcdef,2)# 返回 cdef
!Mid(字符串,起始索引,长度)! 从字符串中的指定索引开始,并返回指定的字符数。 !Mid(abcdef,1,2)! 返回 公元前
!子字符串(string,startindex,length)! 从字符串中的指定索引开始,并返回指定的字符数。 !子字符串(abcdef,1,2)! 返回 公元前
#Mod(字符串,长度)# 将字符串除以长度并返回余数。 字符串必须能够转换为整数。 #Mod(7,3)# 返回 1

注意:

  • 井号标签和 Active Directory 属性也支持字符串操作。 例如: #Left([ADAttribute:NAME],2)# 其中,当前域用户的 name 属性为 管理员 返回 广告$Split(##ClientIPAddress##,[\.],2)$ 返回 157.
  • !Mid(字符串,起始索引,长度)!!子字符串(string,startindex,length)! 操作始终最后执行。

主题标签

哈希标签是 Workspace Environment Management 项目处理中广泛使用的替代功能。 以下示例说明了如何使用 hash-tags:

要写入 .ini 文件中,您可以使用 %UserName%.ini 文件的路径,Workspace Environment Management 会对其进行处理并扩展最终目录。 但是,评估 Workspace Environment Management 在 .ini 本身就更复杂:你可能想写 %UserName% 字面意思,或者写入 expanded 值。

为了提高灵活性, ##UserName## 作为 hash-tag 存在,因此使用 %UserName% for a value 按字面写入它, ##UserName## 写入 expanded 值。

有关示例,请参阅下表:

模 态 说明 示例
##UserName## 返回扩展的环境变量 ”%username%” 吉尔
##UserProfile## 返回扩展的环境变量 ”%userprofile%” C:\用户\吉尔
##FullUserName## 返回用户在 Active Directory 中的全名 周吉尔
##UserInitials## 返回 Active Directory 中的用户名首字母缩写 JC (英语)
##UserAppData## 返回特殊文件夹 - RoamingAppData 的实际路径 C:\Users\Jill\AppData\R奥曼
##UserPersonal## 返回特殊文件夹 - 文档 的实际路径 C:\Users\Jill\Documents
##UserDocuments## 返回特殊文件夹 - 文档 的实际路径 C:\Users\Jill\Documents
##UserDesktop## 返回特殊文件夹 - Desktop 的实际路径 C:\Users\Jill\Desktop
##UserFavorites## 返回特殊文件夹 - 收藏夹 (Favorites) 的实际路径 C:\Users\Jill\收藏夹
##UserTemplates## 返回特殊文件夹 - 模板的实际路径 C:\Users\Jill\AppData\Roaming\Microsoft\Windows\TEMPLATES
##UserStartMenu## 返回特殊文件夹 - StartMenu 的实际路径 C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Start 菜单
##UserStartMenuPrograms## 返回特殊文件夹 - Programs 的实际路径 C:\Users\Jill\AppData\Roaming\Microsoft\Windows\开始菜单\程序
##UserLocalAppData## 返回特殊文件夹的实际路径 - LocalAppData C:\Users\Jill\AppData\Local
##UserMusic## 返回特殊文件夹 - Music 的实际路径 C:\用户\Jill\音乐
##UserPictures## 返回特殊文件夹 - 图片的实际路径 C:\Users\Jill\Pictures
##UserVideos## 返回特殊文件夹 - 视频 C:\Users\Jill\Videos
##UserDownloads## 返回特殊文件夹 - Downloads 的实际路径 C:\Users\Jill\Downloads
##UserLinks## 返回特殊文件夹 - 链接的实际路径 C:\Users\Jill\Links
##UserContacts## 返回特殊文件夹 - 联系人的实际路径 C:\Users\Jill\Contacts
##UserSearches## 返回特殊文件夹 - SavedSearches 的实际路径 C:\Users\Jill\Searches
##commonprograms## 返回特殊文件夹 - CommonPrograms 的实际路径 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 站点
##DefaultRegValue## - 始终为字符串。空
##UserLDAPPath## 返回当前用户的可分辨名称 CN=Jill Chou,OU=用户帐户,OU=APAC,DC=citrite,DC=net
##VUEMAgentFolder## 返回代理文件夹 C:\Program Files (x86)\Citrix\Workspace Environment Management 代理
##RDSSessionID## 返回远程桌面会话 ID 2
##RDSSessionName## 返回远程桌面会话名称 RDP-TCP #72
##ClientRemoteOS## 返回用于连接到虚拟桌面的计算机的操作系统 窗户
##ClientOSInfos## 返回计算机的操作系统信息 Windows 10 企业版 64 位

井号标签 ##UserScreenCaptureComment## 实现用于产品的特定部分。 此标签可以包含在 Email Template 的 高级设置 > UI 代理个性化 > 帮助台选项. 包含后,用户将看到一个注释字段,该字段位于代理屏幕捕获实用程序的屏幕截图下方。 评论将包含在支持电子邮件中您在电子邮件模板中放置标记的位置。

Active Directory 属性

要使用 Active Directory 属性,WEM 将 [ADAttribute:attrName] 值替换为相关的 Active Directory 属性。 [ADAttribute:attrName] 是任何 Active Directory 属性的动态令牌。 有一个相关的筛选条件,用于检查指定属性的值。

对于用户组织单位 (OU) 结构,WEM 将替换 [UserParentOU:级别] 值替换为相关的 Active Directory OU 名称。 Active Directory 路径是 Active Directory 中的完整用户路径 (LDAP),[UserParentOU:level] 是它的子集。

例如,假设您要为用户所属的 OU 构建网络驱动器。 您可以在网络驱动器路径中使用动态令牌 [UserParentOU:level] 来动态解析用户的 OU。 有两种方法可以使用动态令牌:

  • 直接在网络驱动器路径中使用 [UserParentOU:level] 动态令牌。 例如,您可以使用以下路径:’\Server\Share[UserParentOU:0]'。
  • 设置一个名为 OU 的环境变量,然后将其值设置为 [UserParentOU:0]。 然后,您可以将驱动器映射为“\Server\Share\%OU%`.

注意:

  • 您可以将数字 “0” 替换为与您要在 OU 结构中达到的级别相对应的数字。
  • 您可以将变量附加到路径。 为此,请确保您具有与您的 OU 布局匹配的确切文件夹结构。

您还可以使用 Active Directory 属性进行筛选。 在 管理 > 过滤 器 > 条件 > 筛选条件列表 选项卡中,您可以在单击 New Filter Condition (新建筛选条件) 窗口后打开 . 在 New Filter Condition (新建筛选条件) 窗口中,您可以看到以下四种与 Active Directory 属性关联的筛选条件类型:

  • Active Directory 属性匹配
  • Active Directory 组匹配
  • Active Directory 路径匹配
  • Active Directory 站点匹配

对于 Active Directory 属性匹配,动态令牌为 [ADAttribute:attrName]。 没有可用于 Active Directory 组匹配的动态令牌,因为该条件类型用于检查组成员身份。 对于 Active Directory 路径匹配,完整 LDAP 路径的动态令牌为 ##UserLDAPPath##。 对于 Active Directory 站点匹配,动态令牌为 ##ADSite##。

有关示例,请参阅下表:

模 态 说明 示例  
[ADAttribute:attrName] 返回 domain user 的指定属性 [ADAttribute:姓名] 返回 管理员  
[PrinterAttribute:printername\ attrName] 返回指定域打印机的指定属性 [PrinterAttribute:printer1|name] 返回 printer1
[UserParentOU: 级别] 返回当前用户的父 OU 的指定级别 [UserParentOU:1]CN=Jill Chou,OU=用户帐户,OU=APAC,DC=citrite,DC=net 返回 亚太地区  

登记处

要使用注册表,WEM 会将 [注册表值:<Registry path>] 值替换为相关的注册表值。 例如,您可以指定以下值:

  • [注册表值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Norskale\Agent Host\AgentLocation]

XML 文件

要使用 XML 文件,WEM 将 [GetXmlValue:<XML path>|<tag name>] value 替换为 XML 文件中的特定标签值。 XML 路径可以是实际路径,也可以是解析为路径的环境变量。 您必须用 % 将环境变量括起来。 例如,您可以指定以下值:

  • [GetXmlValue:C:\citrix\test.xml|summary] 或
  • [GetXmlValue:%xmlpath%|摘要]

INI 文件

要使用 .ini 文件,WEM 会将 [GetIniValue:<INI path>|<section name in the .ini file>|<key name in the .ini.file>] 替换为 key 值。 INI 路径可以是实际路径,也可以是解析为路径的环境变量。 您必须用 % 将环境变量括起来。 例如,您可以指定以下值:

  • [GetIniValue:C:\citrix\test.ini|PLD_POOL_LIC_NODE_0_0|LicExpTime] 或
  • [GetIniValue:%inipath%|PLD_POOL_LIC_NODE_0_0|LicExpTime]

更多信息

筛选条件的可支持性矩阵

下表列出了其测试值或匹配结果支持动态令牌的所有条件类型。

状况类型 测试值 匹配结果
计算机名称匹配 - 是的
ClientName 匹配 - 是的
环境变量匹配 是的
注册表值匹配 是的 是的
WMI 查询结果匹配 - 是的
XenApp 场名称匹配 - 是的
XenApp 区域名称匹配 - 是的
XenDesktop 场名称匹配 - 是的
XenDesktop 桌面组名称匹配 - 是的
Active Directory 属性匹配 是的 是的
名称或值在列表中 是的 是的
ComputerName 不匹配 - 是的
ClientName 不匹配 - 是的
无环境变量匹配 是的
无注册表值匹配 是的 是的
无 WMI 查询结果匹配 - 是的
无 XenApp 场名称匹配 - 是的
无 XenApp 区域名称匹配 - 是的
无 XenDesktop 场名称匹配 - 是的
无 XenDesktop 桌面组名称匹配 - 是的
没有 Active Directory 属性匹配 是的 是的
名称或值不在列表中 是的 是的
动态值匹配 是的 是的
无动态值匹配 是的 是的
文件版本匹配 是的 是的
没有文件版本匹配 是的 是的
已发布的资源名称 - 是的
名称在列表中 是的 是的
名称不在列表中 是的 是的
文件/文件夹存在 - 是的
文件/文件夹不存在 - 是的