動的トークン
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 に設定されている場合
-
注:
グループポリシー設定には、マシン設定とユーザー設定の2種類があります。マシン設定では、一部の動的トークンはサポートされていません。「グループポリシー設定の動的トークンサポート」を参照してください。
グループポリシー設定の動的トークンサポート
グループポリシー設定 で動的トークンを使用すると、さまざまな環境でより適応性の高いポリシー構成が可能になり、手動構成が削減され、ポリシー管理が簡素化されます。
グループポリシー設定には、次の2種類があります。
-
マシン設定。これらの設定は、誰がログオンしているかに関係なく、マシンにのみ適用されます。
-
ユーザー設定。これらの設定は、どのマシンにログオンしているかに関係なく、ユーザーにのみ適用されます。
すべての動的トークンがグループポリシー設定でサポートされています。ただし、次のものはマシン設定ではサポートされていません。
アプリケーション
-
アプリケーションの種類がインストールアプリケーションの場合: コマンドライン、作業ディレクトリ、およびパラメーター
-
アプリケーションの種類がファイル/フォルダーの場合: ターゲット
-
アプリケーションの種類がURLの場合: ショートカットURL
-
アイコンファイル
プリンター
-
ターゲットパス
ネットワークドライブ
-
ターゲットパスと表示名
仮想ドライブ
-
ターゲットパス
レジストリ
-
ターゲットパス、ターゲット名、およびターゲット値
注:
ターゲット値フィールドは、環境変数の展開をサポートしていません。環境変数を使用しても、期待どおりに機能しません。
環境変数
-
変数値
ポート
-
ポートターゲット
Ini ファイル
-
ターゲットパス、ターゲットセクション、ターゲット値名、およびターゲット値
注:
ターゲットセクション、ターゲット値名、およびターゲット値フィールドは、環境変数の展開をサポートしていません。環境変数を使用しても、期待どおりに機能しません。
外部タスク
-
パスと引数
ファイルシステム操作
-
ソースパスとターゲットパス
特定のフィルター条件
-
例: 条件タイプがActive Directory属性の一致*の場合: テスト済みActive Directory属性と一致結果**
注:
フィルター条件でサポートされているフィールドの完全なリストについては、「フィルター条件のサポートマトリックス」(#supportability-matrix-for-filter-conditions)を参照してください。
文字列操作
ドライブをマップしたり、アプリケーションを起動したりするために、スクリプト内で文字列を操作する必要がある場合があります。Workspace Environment Management™エージェントは、次の文字列操作を受け入れます。
| 形式 | 説明 | 例 |
|---|---|---|
| #左(文字列,長さ)# | 左から指定された数の文字を返します。 | #Left(abcdef,2)#はabを返します |
| #右(文字列,長さ)# | 右から指定された数の文字を返します。 | #Right(abcdef,2)#はefを返します |
| #切り詰め(文字列,長さ)# | 文字列の長さが指定された長さ以下の場合、文字列全体を返します。文字列の長さが指定された長さより大きい場合、指定された数の文字を左から返します。 | #Truncate(abcdef,3)# は abc を返します |
| &Trim(文字列)& | 文字列の先頭と末尾のすべての空白文字を削除します。 | &Trim( a b c )& は a b c を返します |
| &RemoveSpaces(文字列)& | 文字列のすべての空白文字を削除します。 | &RemoveSpaces( a b c )& は abc を返します |
| &展開(文字列)& | 文字列に\%で囲まれた環境変数が含まれている場合、その変数を展開します。 | &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(文字列,長さ)# | 文字列を長さで除算し、剰余を返します。文字列は整数に変換できる必要があります。 | #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## | 特殊フォルダー - テンプレート の実際のパスを返します | 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## | 特殊フォルダー - ミュージック の実際のパスを返します | C:\Users\Jill\Music |
| ##UserPictures## | 特殊フォルダー - ピクチャ の実際のパスを返します。 | 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## | 特殊フォルダーの実際のパスを返します - 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サイトを返します | 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エージェントのパーソナライズ > ヘルプデスクオプション の下のメールテンプレートに含めることができます。含めると、エージェントの画面キャプチャユーティリティで、画面キャプチャの下にコメントフィールドがユーザーに表示されます。コメントは、メールテンプレートでタグを配置した場所にサポートメールに含まれます。
アクティブディレクトリ属性
注:
-
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属性が一致しない | はい | はい |
| 名前または値がリストにない | はい | はい |
| 動的値が一致 | はい | はい |
| 動的値が一致しない | はい | はい |
| ファイルバージョンが一致 | はい | はい |
| ファイルバージョンが一致しない | はい | はい |
| 公開リソース名 | - | はい |
| 名前がリストにある | はい | はい |
| 名前がリストにない | はい | はい |
| ファイル/フォルダーが存在する | - | はい |
| ファイル/フォルダーが存在しない | - | はい |