動的トークン
Workspace Environment Management の アクション で動的トークンを使用すると、より強力な機能を実現できます。
動的トークンは、次のフィールドで使用できます。
-
グループポリシー設定
-
Action が Delete 値に設定されている場合: Value
-
Action が Set value に設定され、Type が REG_SZ: Value, Data に設定されている場合
-
Action が Set value に設定され、Type が REG_EXPAND_SZ: Value, Data に設定されている場合
-
Action が Set value に設定され、Type が REG_MULTI_SZ: Value, Data に設定されている場合
-
注:
グループポリシー設定には、Machine settings と user settings の2種類があります。Machine settings では、一部の動的トークンはサポートされていません。グループポリシー設定の動的トークンサポート を参照してください。
グループポリシー設定の動的トークンサポート
グループポリシー設定 で動的トークンを使用すると、さまざまな環境でより適応性の高いポリシー構成が可能になり、手動構成が減り、ポリシー管理が簡素化されます。
グループポリシー設定には、次の2種類があります。
-
Machine settings。これらの設定は、誰がログオンしているかに関係なく、マシンにのみ適用されます。
-
User settings。これらの設定は、どのマシンにログオンしているかに関係なく、ユーザーにのみ適用されます。
すべての動的トークンはグループポリシー設定でサポートされています。ただし、以下のものはマシン設定ではサポートされていません。
アプリケーション
-
アプリケーションの種類がインストールアプリケーションの場合: コマンドライン、作業ディレクトリ、およびパラメータ
-
アプリケーションの種類がファイル/フォルダの場合: ターゲット
-
アプリケーションの種類が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 を返します |
| &トリム(string)& | 文字列の先頭と末尾のすべての空白文字を削除します。 | &Trim( a b c )& は a b c を返します |
| &スペースを削除(string)& | 文字列のすべての空白文字を削除します。 | &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(文字列,開始インデックス,長さ)! | 文字列内の指定されたインデックスから開始し、指定された数の文字を返します。 | !Mid(abcdef,1,2)! は bc を返します |
| !Substring(文字列,開始インデックス,長さ)! | 文字列内の指定されたインデックスから開始し、指定された数の文字を返します。 | !Substring(abcdef,1,2)! は bc を返します |
| #Mod(string,length)# | 文字列を長さで除算し、余りを返します。文字列は整数に変換できる必要があります。 | #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:\ユーザー\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 |
| ##UserMusic## | 特殊フォルダー - ピクチャ の実際のパスを返します | C:\Users\Jill\Pictures |
| ##UserVideos## | 特殊フォルダー - ビデオ の実際のパスを返します | C:\Users\Jill\Videos |
| ##UserDownloads## | 特殊フォルダー - ダウンロード の実際のパスを返します | C:\Users\Jill\Downloads |
| ##UserLinks## | 特殊フォルダー - リンク の実際のパスを返します | C:\Users\Jill\Links |
| ##UserContacts## | 特殊フォルダー - 連絡先 の実際のパスを返します | 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=ジル・チョウ,OU=ユーザーアカウント,OU=APAC,DC=citrite,DC=net |
| ##VUEMAgentFolder## | エージェントフォルダーを返します | C:\プログラムファイル (x86)\Citrix\ワークスペース環境管理エージェント |
| ##RDSSessionID## | リモートデスクトップセッションIDを返します | 2 |
| ##RDSSessionName## | リモートデスクトップセッション名を返します | RDP-Tcp#72 |
| ##ClientRemoteOS## | 仮想デスクトップへの接続に使用されるマシンのオペレーティングシステムを返します | ウィンドウズ |
| ##ClientOSInfos## | マシンのOS情報を返します | ウィンドウズ 10 エンタープライズ 64ビット |
ハッシュタグ ##UserScreenCaptureComment## は、製品の特定の箇所で使用するために実装されています。このタグは、詳細設定 > UIエージェントのパーソナライズ > ヘルプデスクオプション の下のメールテンプレートに含めることができます。含めると、エージェントのスクリーンキャプチャユーティリティで、スクリーンキャプチャの下にコメントフィールドが表示されます。コメントは、メールテンプレートでタグを配置した場所にサポートメールに含まれます。
アクティブディレクトリ属性
注:
-
OU構造で到達したいレベルに対応する数値で「0」を置き換えることができます。
-
パスに変数を追加できます。これを行うには、OUレイアウトと一致する正確なフォルダ構造があることを確認してください。
フィルタリング目的でActive Directory属性を使用することもできます。管理 > フィルタ > 条件 > フィルタ条件リストタブで、追加をクリックすると、新しいフィルタ条件ウィンドウを開くことができます。新しいフィルタ条件ウィンドウには、Active Directory属性に関連付けられた次の4つのフィルタ条件タイプが表示されます。
-
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属性が一致しません | はい | はい |
| 名前または値がリストにありません | はい | はい |
| 動的値が一致します | はい | はい |
| 動的値が一致しません | はい | はい |
| ファイルバージョンが一致します | はい | はい |
| ファイルバージョンが一致しません | はい | はい |
| 公開リソース名 | - | はい |
| 名前がリストにある | はい | はい |
| 名前がリストにない | はい | はい |
| ファイル/フォルダーが存在する | - | はい |
| ファイル/フォルダーが存在しない | - | はい |