動的トークン

最終公開日 : Nov 13, 2026
Workspace Environment Management の任意のアクション(/ja-jp/workspace-environment-management/2209/user-interface-description/actions/applications.html)で動的トークンを使用して、機能を強化できます。
以下のフィールドで動的トークンを使用できます。
  • アプリケーション
    • アプリケーションの種類がインストールアプリケーションの場合:コマンドライン、作業ディレクトリ、およびパラメータ
    • アプリケーションの種類がファイル/フォルダの場合:ターゲット
    • アプリケーションの種類がURLの場合:ショートカットURL
    • アイコンファイル
  • プリンター
    • ターゲットパス
  • ネットワークドライブ
    • ターゲットパスおよび表示名
  • 仮想ドライブ
    • ターゲットパス
  • レジストリ
    • ターゲットパス、ターゲット名、およびターゲット値
    注:
    ターゲット値フィールドは、環境変数展開をサポートしていません。環境変数を使用すると、期待どおりに機能しません。
  • 環境変数
    • 変数値
  • ポート
    • ポートターゲット
  • Iniファイル
    • ターゲットパス、ターゲットセクション、ターゲット値名、およびターゲット値
    注:
    ターゲットセクション、ターゲット値名、およびターゲット値の各フィールドは、環境変数展開をサポートしていません。環境変数を使用しても、期待どおりに機能しません。
  • 外部タスク
    • パスおよび引数
  • ファイルシステム操作
    • ソースパスおよびターゲットパス
  • 特定のフィルター条件
    • 例: 条件タイプがActive Directory属性一致の場合: テスト済みActive Directory属性および一致結果
    注:
    フィルター条件でサポートされているフィールドの完全なリストについては、「フィルター条件のサポートマトリックス」を参照してください。

文字列操作

スクリプト内で文字列を操作してドライブをマップしたり、アプリケーションを起動したりする必要がある場合があります。Workspace Environment Management™ エージェントは、次の文字列操作を受け入れます。
モーダル 説明 例
#Left(文字列,長さ)# 指定された数の文字を左から返します。 #Left(abcdef,2)# は ab を返します
#Right(文字列,長さ)# 指定された数の文字を右から返します。 #Right(abcdef,2)# は ef を返します
#Truncate(文字列,長さ)# 文字列の長さが指定された長さ以下の場合、文字列全体を返します。文字列の長さが指定された長さより大きい場合、指定された数の文字を左から返します。 #Truncate(abcdef,3)# は abc を返します
&Trim(文字列)& 文字列の先頭と末尾にあるすべての空白文字を削除します。 &Trim( a b c )& は a b c を返します
&RemoveSpaces(文字列)& 文字列からすべての空白を削除します。 &RemoveSpaces( a b c )& は abc を返します。
&Expand(文字列)& 文字列に\%で囲まれた環境変数が含まれている場合、その変数を展開します。 &Expand(%userprofile%\destop)& は C:\Users\Jill\desktop を返します。
\$Split(string,[splitter],index)\$ 文字列を[]で囲まれた区切り文字に基づいて部分文字列に分割し、インデックス付きの部分文字列を返します。 $Split(abc-def-hij,[-],2)$ は hij を返します。
#Mid(文字列,開始インデックス)# 文字列内の指定されたインデックスから開始し、それ以降のすべての文字を返します。 #Mid(abcdef,2)# は cdef を返します。
!中間(文字列,開始インデックス,長さ)! 文字列内の指定されたインデックスから開始し、指定された数の文字を返します。 !Mid(abcdef,1,2)! は bc を返します。
!部分文字列(文字列,開始インデックス,長さ)! 文字列内の指定されたインデックスから開始し、指定された数の文字を返します。 !Substring(abcdef,1,2)! は bc を返します
#Mod(文字列,長さ)# 文字列を長さで除算し、剰余を返します。文字列は整数に変換できる必要があります。 #Mod(7,3)# は 1 を返します
注:
  • 文字列操作は、ハッシュタグとActive Directory属性でもサポートされています。例: 現在のドメインユーザーの名前属性が Administrator の場合、#Left([ADAttribute:NAME],2)# は 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## 特別なフォルダー「ドキュメント」の実際のパスを返します 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## 特殊フォルダー「Programs」の実際のパスを返します。 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## 特殊フォルダーの実際のパスを返します - Links C:\Users\Jill\Links
##UserContacts## 特殊フォルダーの実際のパスを返します - Contacts C:\Users\Jill\Contacts
##UserSearches## 特殊フォルダーの実際のパスを返します - SavedSearches C:\Users\Jill\Searches
##共通プログラム## 特殊フォルダーの実際のパスを返します - CommonPrograms C:\ProgramData\Microsoft\Windows\Start Menu\Programs
##ComputerName## マシンの名前を返します WIN10EN-LR3B66L
##ClientName## クライアントマシンの名前を返します ダブリューツーケーイチロクエスティーハイフンゴーアイエスニハチジェイピー
##ClientIPAddress## クライアントマシンのIPアドレスを返します 10.150.153.138
##IpAddress## マシンのIPアドレスを返します 10.150.153.213
##ADサイト## マシンがメンバーであるActive Directoryサイトを返します NKG
##DefaultRegValue## - 常に string.Empty
##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## マシンのOS情報を返します。 Windows 10 Enterprise 64ビット
ハッシュタグ ##UserScreenCaptureComment## は、製品の特定の箇所で使用するために実装されています。このタグは、詳細設定 > UIエージェントのパーソナライズ > ヘルプデスクオプション の下にあるメールテンプレートに含めることができます。含めると、エージェントのスクリーンキャプチャユーティリティで、スクリーンキャプチャの下にコメントフィールドが表示されます。コメントは、メールテンプレートでタグを配置した場所にサポートメールに含まれます。

アクティブ ディレクトリ属性

Active Directory属性を操作するために、WEMは**** の値を関連するActive Directory属性に置き換えます。 は、任意のActive Directory属性の動的トークンです。指定された属性の値をチェックする関連フィルターがあります。
ユーザー組織単位 (OU) 構造の場合、WEMは**** の値を関連するActive Directory OU名に置き換えます。Active DirectoryパスはActive Directory内の完全なユーザーパス (LDAP) であり、 はそのサブセットです。
たとえば、ユーザーが属するOUのネットワークドライブを構築したいとします。ネットワークドライブパスで動的トークン を使用して、ユーザーのOUを動的に解決できます。動的トークンを使用する方法は2つあります。
  • ネットワークドライブパスで動的トークン を直接使用します。たとえば、次のパスを使用できます: \\Server\Share\[UserParentOU:0]\。
  • OUという環境変数を設定し、その値を に設定します。その後、ドライブを \\Server\Share\%OU%\ としてマップできます。
注:
  • 数字の「0」を、OU構造で到達したいレベルに対応する数値に置き換えることができます。
  • パスに変数を追加できます。これを行うには、OUレイアウトと一致する正確なフォルダー構造があることを確認してください。
Active Directory属性をフィルタリング目的で使用することもできます。管理 > フィルター > 条件 > フィルター条件リスト タブで、追加 をクリックすると、新しいフィルター条件ウィンドウを開くことができます。新しいフィルター条件ウィンドウには、Active Directory属性に関連付けられた次の4つのフィルター条件タイプが表示されます。
  • Active Directory属性の一致
  • Active Directory グループの一致
  • Active Directory パスの一致
  • Active Directory サイトの一致
Active Directory 属性の一致の場合、動的トークンは です。 Active Directory グループの一致の場合、その条件タイプはグループメンバーシップのチェックに使用されるため、利用可能な動的トークンはありません。 Active Directory パスの一致の場合、完全な LDAP パス用の動的トークンは ##UserLDAPPath## です。 Active Directory サイトの一致の場合、動的トークンは ##ADSite## です。
例については、次の表を参照してください。
モーダル 説明 例
[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\]

詳細情報

フィルター条件のサポートマトリックス

次の表に、テストされた値または一致する結果が動的トークンをサポートするすべての条件タイプを示します。
条件タイプ テストされた値 一致する結果
ComputerNameの一致 - はい
ClientNameの一致 - はい
環境変数の一致 いいえ はい
レジストリ値の一致 はい はい
WMIクエリ結果の一致 - はい
XenApp® ファーム名の一致 - はい
XenAppゾーン名の一致 - はい
XenDesktop® ファーム名の一致 - はい
XenDesktopデスクトップグループ名の一致 - はい
Active Directory属性の一致 はい はい
名前または値がリスト内にある はい はい
コンピューター名の不一致 - はい
クライアント名の不一致 - はい
環境変数の不一致 いいえ はい
レジストリ値の不一致 はい はい
WMIクエリ結果の不一致 - はい
XenAppファーム名の不一致 - はい
XenAppゾーン名の不一致 - はい
XenDesktopファーム名が一致しません - はい
XenDesktopデスクトップグループ名が一致しません - はい
Active Directory属性が一致しません はい はい
名前または値がリストにありません はい はい
動的値が一致 はい はい
動的値が一致しません はい はい
ファイルバージョンが一致 はい はい
ファイルバージョンが一致しません はい はい
公開リソース名 - はい
名前がリストにあります はい はい
名前がリストにありません はい はい
ファイル/フォルダーが存在します - はい
ファイル/フォルダーが存在しません - はい