環境処理
環境処理を使用すると、環境変数とセッション変数の両方を管理対象エンドポイントで構成できます。トリガーされると、両方のタイプの変数を設定または削除し、環境変数を最後に追加することができます。
このセクションの内容
環境変数
環境変数には、ユーザ環境変数とシステム環境変数の2つの一般的な種類があります。ユーザ環境変数は Environment Manager のユーザ トリガーで設定されます。システム環境変数は、コンピュータ トリガーで設定されます。
処理で設定された環境変数は、すべての子処理またはトリガーと将来のすべてのトリガーで使用できます。変数は、Windows エクスプローラなどの他のアプリケーションでも使用できますが、処理を含むトリガーが完了した後にのみ使用できます。
-
ユーザ環境変数は、一般的に、ユーザが所有するリソースと設定に関連する情報を保存します。
ユーザ環境変数の例は %TEMP% です。これは、一時ファイルを保存するための特定のユーザのフォルダを参照します。あるいは、%HOMEPATH% であり、これはユーザのプロファイル ディレクトリを参照します。
-
一般的に、システム環境変数は、重要なオペレーティング システム リソースまたはアーキテクチャの場所を参照します。
システム環境変数の例は %windir% です。これは Windows ディレクトリへのパスです。あるいは、%ProgramFiles% であり、これは Program Files ディレクトリの場所を参照します。
セッション変数
セッション変数は環境変数の代わりであり、環境変数に適用されるライフタイムや範囲に関する制限なく、Environment Manager 構成経由でデータを渡すことができます。セッション変数は、特定のユーザとセッションの複数のプロセスで有効です。
セッション変数は、環境変数を使用できる Environment Manager 内の任意の場所で使用し、展開することができます。これらは、ドライブのマッピングやフォルダ リダイレクト処理のカスタム ファイル パスを適用するために使用できます。特に、カスタム処理および条件内のスクリプトで使用されるときに役立ちます。
環境変数処理とセッション変数処理
環境変数を設定
変数名と変数値を入力します。
Environment Manager コンソールが実行されているコンピュータで使用可能な既存の環境変数のリストが表示されます。これらを選択し、必要に応じて、変数値を編集できます。
環境変数は、入力した値を使用して、管理対象エンドポイントで設定されます。
環境変数の追加
追加する変数名、変数値を入力し、既存の変数と追加値の間で使用する区切り文字を選択します。選択した環境変数は、入力した区切り文字を使用して、追加値を含めるように更新されます。
Environment Manager コンソールが実行されているコンピュータで使用可能な既存の環境変数のリストが表示されます。これらを選択して、追加するには、追加する変数値と区切り文字を入力します。
たとえば、新しい場所を使用して PATH 環境変数を追加し、セミコロン区切り文字を指定できます。
環境変数の削除
管理対象エンドポイントから削除する変数名を入力します。
Environment Manager コンソールが実行されているコンピュータで使用可能な既存の環境変数のリストが表示されます。これらは削除対象として選択できます。
セッション変数の設定
Environment Manager 構成内で使用する変数名および変数値を入力します。
セッション変数は、入力した値を使用して、管理対象エンドポイントで設定されます。
セッション変数の削除
Environment Manager 構成内での使用から削除するセッション変数名を入力します。
セッション変数の形式
セッション変数は大文字と小文字を区別せず、丸括弧で閉じ、先頭に $ を付けて参照されます。例:
$(SessionVariable)
正しくない形式のセッション変数は展開しません。次の表は、展開の成功と失敗の例を示します。
これらの例では、変数「valid_variable」が「SessionVariableValue」に設定されています。
参照 | 展開 |
---|---|
$(valid_variable) | SessionVariableValue |
$(variable_does_not_exist) | $(variable_does_not_exist) |
$() | $() |
$no_brackets_defined | $no_brackets_defined |
$(missing_closing_bracket | $(missing_closing_bracket |
$missing_opening_bracket) | $missing_opening_bracket) |
$(valid_variable) $(Valid_Variable) $(vALID_vARIABLE) $(VALID_VARIABLE) | SessionVariableValue |
$(valid_variable$(valid_variable)) | $(valid_variable$(valid_variable)) |
$(valid_variable)) | SessionVariableValue) |
$((valid_variable) | $((valid_variable) |
既定のセッション変数
Environment Manager には次の3つのビルトインセッション変数があります。
- SessionID - 現在のセッション ID
- UserSID - ユーザのセキュリティ ID
- UserTemp - ユーザの一時ディレクトリの場所
これらは処理と条件で使用できます。特に、挿入機能を使用して、簡単にカスタム スクリプトに追加できます。
セッション変数の例
ポリシー処理でセッション変数を使用する
次の例では、セッション変数を使用して、Word を開くときに、ドライブをマッピングします。セッション変数はログオン時に設定され、Active Directory 組織単位 (OU) メンバーシップに依存します。
ログオン時に実行される If Else 条件はユーザの OU を確認し、そのグループに相対的な UserGroup セッション変数を設定します。たとえば、ユーザが Sales のメンバーである場合、 UserGroup セッション変数は「sales」に設定されます。
ドライブのマッピング処理は、ユーザがドライブを次の場所にマッピングする Word を開くと、実行されます。
\\Docs\$(UserGroup)
$(UserGroup) は、ログオン時に設定された値に展開します。たとえば、ユーザが Sales のメンバーである場合、 セッション変数が展開し、ドライブを次の場所にマッピングします。
\\Docs\Sales
カスタム処理でセッション変数を使用する
この例は、Environment Manager カスタム処理を使用して、セッション変数をスクリプトで使用する方法について示します。
2つの処理が [ログオン] > [プレデスクトップ トリガー] に追加されました。1つは2つのセッション変数を設定し、もう1つはこれらの変数を使用してドライブをマッピングします。
カスタム処理
カスタム処理の次のスクリプトは、環境からユーザ名を取得し、2つのセッション変数 $(first_letter) および $(first_two_letters) を設定します。
$user = $env:USERNAME
if ($user.Length -gt 1)
{
$first_letter = $user[0]
$first_obj = New-Object -ComObject "EmClient.SetValue"
$first_obj.Name = "first_letter"
$first_obj.Value = $first_letter
$first_obj.Apply("")
$first_two_letters = $user[0] + $user[1]
$second_obj = New-Object -ComObject "EmClient.SetValue"
$second_obj.Name = "first_two_letters"
$second_obj.Value = $first_two_letters
$second_obj.Apply("")
}
ファイルのマッピング処理
カスタム処理で設定されたセッション変数は、ドライブのマッピング処理で使用され、各管理されたユーザのドライブをマッピングします。
%SYSTEMDRIVE%\%SESSIONNAME%\$(first_letter)\$(first_two_letters)\Home