動的トークン

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

文字列操作

スクリプト内で文字列を操作してドライブをマップしたり、アプリケーションを起動したりする必要がある場合があります。Workspace Environment Management™ エージェントは、以下の文字列操作を受け入れます。
構文 説明 例
#レフト(string,length)# 指定された数の文字を左から返します。 #Left(abcdef,2)# は ab を返します
#ライト(string,length)# 指定された数の文字を右から返します。 #Right(abcdef,2)# は ef を返します
#トランケート(string,length)# 文字列の長さが指定された長さ以下の場合、文字列全体を返します。文字列の長さが指定された長さより大きい場合、指定された数の文字を左から返します。 #Truncate(abcdef,3)# は abc を返します
&トリム(string)& 文字列の先頭と末尾の空白文字をすべて削除します。 &Trim( a b c )& は a b c を返します
&リムーブスペース(string)& 文字列からすべての空白を削除します。 &RemoveSpaces( a b c )& は abc を返します
&展開(文字列)& 文字列に % で囲まれた環境変数が含まれている場合、その変数を展開します。 &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属性でもサポートされています。例えば、現在のドメインユーザーの名前属性が 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## 特殊フォルダー - Documents の実際のパスを返します。 C:\Users\Jill\Documents
##UserDesktop## 特殊フォルダー - Desktop の実際のパスを返します。 C:\Users\Jill\Desktop
##UserFavorites## 特殊フォルダー - Favorites の実際のパスを返します。 C:\Users\Jill\Favorites
##UserTemplates## 特殊フォルダー - Templates の実際のパスを返します。 C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Templates
##UserStartMenu## 特殊フォルダー - StartMenu の実際のパスを返します。 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## クライアントマシンの名前を返します W2K16ST-5IS28JP
##ClientIPAddress## クライアントマシンのIPアドレスを返します 10.150.153.138
##IpAddress## マシンのIPアドレスを返します 10.150.153.213
##ADサイト## マシンがメンバーであるActive Directoryサイトを返します NKG
##DefaultRegValue## - 常にstring.Empty
##UserLDAPPath## 現在のユーザーの識別名を返します CN=Jill Chou,OU=User Accounts,OU=APAC,DC=citrite,DC=net
##VUEMAgentFolder## エージェントフォルダーを返します C:\プログラムファイル (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はXMLファイル内の特定のタグ値で[GetXmlValue:<XML path>|<tag name>]値を置き換えます。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属性の一致 はい はい
名前または値がリストにある はい はい
ComputerNameの不一致 - はい
ClientNameの不一致 - はい
環境変数の不一致 いいえ はい
レジストリ値の不一致 はい はい
WMIクエリ結果の不一致 - はい
XenAppファーム名の不一致 - はい
XenAppゾーン名の不一致 - はい
XenDesktopファーム名が一致しない - はい
XenDesktopデスクトップグループ名が一致しない - はい
Active Directory属性が一致しない はい はい
名前または値がリストにない はい はい
動的な値が一致 はい はい
動的な値が一致しない はい はい
ファイルバージョンが一致 はい はい
ファイルバージョンが一致しない はい はい
公開リソース名 - はい
名前がリストにある はい はい
名前がリストにない はい はい
ファイル/フォルダーが存在する - はい
ファイル/フォルダーが存在しない - はい