動的トークン
動的トークンは、Workspace Environment Management の任意のアクションで使用して 、より強力にすることができます。
動的トークンは次のフィールドで使用できます。
-
グループポリシー設定
- [ アクション ] が [ 値を削除]に設定されている場合:値
- [ アクション ] を [ 値を設定]、[ タイプ] を REG_SZに設定した場合:データ
- [ アクション ] を [ 値を設定]、[タイプ ] を REG_EXPAND_SZに設定した場合:データ
- [ アクション ] を [ 値を設定]、[タイプ ] を [ REG_MULTI: データ] に設定した場合
注:
グループポリシー設定には、マシン設定とユーザー設定の 2 種類があります。マシン設定では、一部の動的トークンはサポートされていません。「 グループポリシー設定の動的トークンサポート」を参照してください。
グループポリシー設定の動的トークンサポート
グループポリシー設定で動的トークンを使用すると 、さまざまな環境でより適応性の高いポリシー構成が可能になり、手動構成が減り、ポリシー管理が簡素化されます。
グループポリシー設定には、次の 2 種類があります。
- マシン設定。これらの設定は、ログオンするユーザーに関係なく、マシンにのみ適用されます。
- ユーザー設定。これらの設定は、ログオンするマシンに関係なく、ユーザーにのみ適用されます。
グループポリシー設定では、すべての動的トークンがサポートされます。次のものはマシン設定ではサポートされていません。
-
ハッシュタグ
-
##FullUserName##
-
##UserInitials##
-
##ClientName##
-
##ClientIPAddress##
-
##UserLDAPPath##
-
##ClientRemoteOS##
- 広告属性
- [広告属性:属性名]
- [親ユーザー:1]
-
HKCUにおけるレジストリ
- アプリケーション
- アプリケーションタイプとしてインストールアプリケーションを使用する場合 : コマンドライン、 作業ディレクトリ、 およびパラメータ
- [ ファイル/フォルダ]をアプリケーションタイプとして:ターゲット
- アプリケーションタイプに URL を指定した場合 : ショートカット URL
- アイコンファイル
- プリンター
- ターゲットパス
- ネットワークドライブ
- **ターゲットパスと表示名**
- 仮想ドライブ
- ターゲットパス
- レジストリー
- ターゲットパス、 ターゲット名、 ターゲット値
注:
ターゲット値フィールドは環境変数の展開をサポートしていません 。環境変数を使用すると、期待どおりに動作しません。
- 環境変数
- 変数値
- ポート
- ポートターゲット
- INI ファイル
- ターゲットパス、 ターゲットセクション、 ターゲット値名、 ターゲット値
注:
ターゲットセクション、 ターゲット値名、 ターゲット値フィールドは 、環境変数の展開をサポートしていません。環境変数を使用すると、期待どおりに動作しません。
- 外部タスク
- **パスと引数**
- ファイルシステムの操作
- **ソースパスとターゲットパス**
- 特定のフィルター条件
- 例:条件タイプとして Active Directory 属性の一致がある場合 : テスト済みの Active Directory属性と照合結果**
注:
フィルター条件でサポートされるフィールドの一覧については、「 フィルター条件のサポートマトリックス」を参照してください。
文字列演算
場合によっては、ドライブのマッピングやアプリケーションを起動するために、スクリプト内の文字列を操作する必要があります。Workspace Environment Management エージェントは、次の文字列操作を受け付けます。
モーダル | 説明 | 例 |
---|---|---|
#Left(string,length)# | 左側の指定された文字数を返します。 |
#Left(abcdef,2)# はab を返す |
#Right(string,length)# | 右側の指定された文字数を返します。 |
#Right(abcdef,2)# はef を返す |
#Truncate(string,length)# | 文字列の長さが指定された長さ以下の場合は、文字列全体を返します。文字列の長さが指定された長さより大きい場合は、左側の指定された文字数を返します。 |
#Truncate(abcdef,3)# はabc を返す |
&Trim(string)& | 文字列の先頭と末尾の空白をすべて削除します。 |
&Trim( a b c )& はa b c を返す |
&RemoveSpaces(string)& | 文字列の空白をすべて削除します。 |
&RemoveSpaces( a b c )& はabc を返す |
&Expand(string)& | 文字列に% で囲まれた環境変数が含まれている場合は、変数を展開します。 |
&Expand(%userprofile%\destop)& はC:\Users\Jill\desktop を返す |
$Split(string,[splitter],index)$ | [] で囲まれたスプリッターに基づいて文字列を部分文字列に分割し、インデックス付きの部分文字列を返します。 |
$Split(abc-def-hij,[-],2)$ はhij を返す |
#Mid(string,startindex)# | 文字列内の指定されたインデックスから開始し、その後に続くすべての文字を返します。 |
#Mid(abcdef,2)# はcdef を返す |
!Mid(string,startindex,length)! | 文字列内の指定されたインデックスから開始し、指定された文字数を返します。 |
!Mid(abcdef,1,2)! はbc を返す |
!サブストリング (文字列、開始インデックス、長さ)! | 文字列内の指定されたインデックスから開始し、指定された文字数を返します。 |
!Substring(abcdef,1,2)! はbc を返す |
#Mod(string,length)# | 文字列を長さで割り、余りを返します。文字列は整数に変換できなければなりません。 |
#Mod(7,3)# は1 を返す |
注:
- 文字列操作は、ハッシュタグと Active Directory 属性でもサポートされています。たとえば、
#Left([ADAttribute:NAME],2)#
は現在のドメインユーザーの名前属性Administrator
は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 |
特殊フォルダーの実際のパスを返す-ドキュメント | 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 |
特殊フォルダーの実際のパスを返す-StartMenu | C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Start メニュー |
#UserStartMenuPrograms |
特殊フォルダーの実際のパスを返す-プログラム | C:\Users\Jill\AppData\Roaming\Microsoft\Windows\Start メニュー\ プログラム |
#UserLocalAppData |
スペシャルフォルダーの実際のパスを返します-LocalAppData | C:\Users\Jill\AppData\Local |
#UserMusic |
スペシャルフォルダーの実際のパスを返す-Music | 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 メニュー\ プログラム |
#ComputerName |
マシンの名前を返します | WIN10EN-LR3B66L |
#ClientName |
クライアントマシンの名前を返す | W2K16ST-5IS28JP |
#ClientIPAddress |
クライアントマシンの IP アドレスを返す | 153.138 |
#IpAddress |
マシンの IP アドレスを返す | 153.213 |
#ADSite |
マシンがメンバーになっている Active Directory サイトを返します。 | NKG |
#DefaultRegValue |
- | 常に文字列。空 |
#UserLDAPPath |
現在のユーザーの識別名を返します | CN=ジル・チョウ、OU=ユーザーアカウント、OU=アジア太平洋地域、DC=シトリット、DC=ネット |
#VUEMAgentFolder |
エージェントフォルダを返します | C:\Program Files (x86)\ Citrix\ Workspace Environment Management エージェント |
#RDSSessionID |
リモートデスクトップセッション ID を返します | 2 |
#RDSSessionName |
リモートデスクトップセッション名を返します | RDP-Tcp#72 |
#ClientRemoteOS |
仮想デスクトップへの接続に使用されたマシンのオペレーティングシステムを返します | Windows |
#ClientOSInfos |
マシンの OS 情報を返す | Windows 10 Enterprise 64ビット |
ハッシュタグ # #UserScreenCaptureComment ## は、製品の特定の部分で使用するために実装されています。このタグは、[ 詳細設定] > [ **UI エージェントのパーソナライズ ]** > [ ヘルプデスクオプション] の [メールテンプレート] に含めることができます。このコメントを含めると、エージェント画面キャプチャユーティリティの画面キャプチャの下にあるコメントフィールドがユーザーに表示されます。コメントは、電子メールテンプレートにタグを配置した場所のサポート電子メールに含まれます。
Active Directory 属性
Active Directory 属性を操作するために、WEM は [ADAttribute: attrName] 値を関連する Active Directory 属性に置き換えます。[adAttribute: attrName] は、すべての Active Directory 属性の動的トークンです。指定された属性の値をチェックする関連フィルタがあります。
ユーザーの組織単位 (OU) 構造の場合、WEM は [userParentOU: Level] 値を関連する Active Directory の OU 名に置き換えます。Active Directory パスは Active Directory 内の完全なユーザーパス (LDAP) であり、[userParentOU: level] はそのサブセットです。
たとえば、ユーザーが属する OU のネットワークドライブを構築するとします。ネットワークドライブパスにある動的トークン [userParentoU: Level] を使用すると、ユーザーの OU を動的に解決できます。動的トークンを使用するには、次の 2 つの方法があります。
- [UserParentOU: Level] 動的トークンをネットワークドライブパスで直接使用します。たとえば、次のパスを使用できます:
\\Server\Share\[UserParentOU:0]\
。 - OU という名前の環境変数を設定し、その値を [userParentOU: 0] に設定します。その後、ドライブを
\\Server\Share\%OU%\
としてマッピングできます。
注:
- 数字の「0」を、OU 構造で到達させたいレベルに対応する数字に置き換えることができます。
- パスに変数を追加できます。これを行うには、OU レイアウトに一致するフォルダ構造が正確であることを確認します。
また、Active Directory 属性を使用してフィルタ処理を行うこともできます。[ 管理] > [フィルタ] > [条件] > [フィルタ条件リスト ] タブで、[ 追加] をクリックした後、[新しいフィルタ条件] ウィンドウを開くことができます。[新しいフィルタ条件] ウィンドウには、Active Directory 属性に関連付けられた次の 4 つのフィルタ条件タイプが表示されます。
- Active Directory 属性の一致
- Active Directory グループの一致
- Active Directory パスの一致
- Active Directory サイトの一致
Active Directory 属性の一致の場合、ダイナミックトークンは [ADAttribute: attrName] です。 Active Directory グループ一致に使用できる動的トークンはありません。これは、条件の種類がグループメンバシップの確認に使用されるためです。 Active Directory パス一致の場合、完全な LDAP パスの動的トークンは # #UserLDAPPath ## です。 Active Directory サイト一致の場合、動的トークンは # #ADSite ## です。
例については、次の表を参照してください。
モーダル | 説明 | 例 |
---|---|---|
[広告属性:属性名] | ドメインユーザーの指定された属性を返します |
[ADAttribute:name] はAdministrator を返す |
[プリンタ属性:プリンタ名\ | 属性名] | 指定されたドメインプリンターの指定された属性を返します | [プリンタ属性:プリンタ1\ |名前] はプリンタ1を返します |
[ユーザーの親ユーザー:レベル] | 現在のユーザーの親 OU の指定されたレベルを返します |
CN=Jill Chou,OU=User Accounts,OU=APAC,DC=citrite,DC=net の[UserParentOU:1] はAPAC を返す |
レジストリー
レジストリを操作するには、WEMは[RegistryValue:<Registry path>]
値を関連するレジストリ値に置き換えます。たとえば、次の値を指定できます。
- [レジストリ値:HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ 制御\ Norskale\ エージェントホスト\ AgentLocation]
XML ファイル
XML ファイルを操作するために、WEMはXML ファイル内の特定のタグ値で[GetXmlValue:<XML path>|<tag name>]
値を置き換えます。XML パスには、実際のパスまたはパスに解決される環境変数を指定できます。環境変数は%で囲む必要があります。たとえば、次の値を指定できます。
- [getXMLValue: C:\citrix\test.xml |要約] または
- [getXMLValue: %xmlpath%|概要]
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 属性が一致しない | はい | はい |
名前または値がリストにありません | はい | はい |
動的値の一致 | はい | はい |
動的値の一致なし | はい | はい |
ファイルのバージョン一致 | はい | はい |
一致するファイルバージョンがありません | はい | はい |
発行されたリソース名 | - | はい |
名前がリスト内にある | はい | はい |
名前がリストにありません | はい | はい |
ファイル/フォルダが存在します | - | はい |
ファイル/フォルダが存在しません | - | はい |