2.4.2 Scriptランチャサービスの設定
- 〈この項の構成〉
(1) Scriptランチャサービスの概要
Scriptランチャサービスは,NetExecコマンドのログオン空間での要求を制御する機能です。リモートデスクトップ環境では,Scriptランチャは起動できないため,ScriptランチャではNetExecコマンドのログオン空間での要求を制御できません。Scriptランチャサービスを使用すると,このようなシステム構成でもNetExecコマンドのログオン空間での要求を制御できます。
Scriptランチャサービスは,NetExecコマンドでログオン空間を指定して起動するプログラムを,Scriptランチャサービスの開始パラメータ,またはNetExecログオンユーザ設定ファイルで指定したユーザのログオンセッション下に起動します。そのため,Scriptランチャサービスを使用する場合,NetExecコマンドを実行するタイミングで,ユーザがログオン状態である必要があります。ユーザのログオンは,コンソールおよびリモートデスクトップのどちらからでも可能です。リモートデスクトップでログオンした場合は,セッションを切断すると,ログオン状態を維持できます。
Scriptランチャサービスは,次の内容でWindowsサービスに登録されます。
-
全般
-
サービス名:JP1_SCRIPT_LAUNCHER
-
表示名:JP1/Script Launcher Service
-
スタートアップの種類:手動
-
-
ログオン
ローカルシステムアカウント
Scriptランチャサービスの開始アカウントは,ローカルシステムアカウント以外は設定できません。
Scriptランチャサービスを使用するとScriptランチャは起動できなくなります。Scriptランチャサービスを使用する運用の場合,ログオン空間での自動起動ができなくなります。ログオン空間での自動起動が必要な場合は,Scriptランチャサービスを使用しないで,Scriptランチャを使用してください。
Scriptランチャサービスを使用する場合,次のどちらかの手順で設定してください。
-
Scriptランチャサービスの開始パラメータで設定する場合
-
NetExecログオンユーザ設定ファイルで設定する場合
NetExecコマンドで要求されたプログラムを実行するユーザとして,ログオンユーザ名を1人だけ指定する場合は,どちらの手順でも設定できます。
複数のログオンユーザ名を指定する場合は,NetExecログオンユーザ設定ファイルで設定してください。
(2) Scriptランチャサービスを使用する設定手順
Scriptランチャサービスを使用する場合の手順を次に示します。
(a) Scriptランチャサービスの開始パラメータで設定する場合
Scriptランチャサービスの開始パラメータで設定する場合の,Scriptランチャサービスの設定手順を次に示します。
-
スタートアップに登録されているScriptランチャを削除する。
-
Windowsサービスマネージャで,Scriptランチャサービスのプロパティを次のように変更し,プロパティダイアログを開いた状態でScriptランチャサービスを開始する。
・ 全般
-
スタートアップの種類:自動
-
開始パラメータ:ログオンユーザ名
ログオンユーザ名には,NetExecコマンドで要求されたコマンドを実行するユーザ名を指定します。
ログオンユーザ名は,"ユーザ名","ユーザ名@ドメイン名","ドメイン名\ユーザ名"のどれかの形式で指定します。
必ずScriptランチャサービスを開始してから,プロパティの設定ダイアログを閉じてください。Scriptランチャサービスを開始する前にダイアログを閉じると,開始パラメータに設定した情報が消失します。情報が消失した場合は,再度「全般」タブの項目を設定し,Scriptランチャサービスを開始してください。
-
-
開始パラメータに指定したログオンユーザ名でログオンする。
NetExecコマンドを使用して運用している間は,ログオフしないでください。リモートデスクトップでログオンした場合は,ログオン状態を維持したままセッションを切断すれば,リモートデスクトップサービスクライアントを終了してもかまいません。
- 注意事項
-
-
NetExecコマンドで要求されたコマンドを実行するユーザ名を変更するには,Scriptランチャサービスを停止し,手順2からやり直してください。
-
管理者以外のユーザをログオンユーザ名に指定し,リモートデスクトップ接続を使用してログオンする場合は,ユーザに対して事前にOSのセキュリティの設定で「グローバルオブジェクトの作成」の権利を割り当ててください。
-
(b) NetExecログオンユーザ設定ファイルで設定する場合
NetExecログオンユーザ設定ファイルで設定する場合の,Scriptランチャサービスの設定手順を次に示します。
-
JP1/Scriptのインストール先フォルダの配下にConfフォルダを作成する。
-
NetExecコマンドで要求されたコマンドを実行するユーザ名を指定したNetExecログオンユーザ設定ファイルを作成し,JP1/Scriptインストール先フォルダ\Conf\SPTHLSV_LogonUser.confに格納する。
NetExecログオンユーザ設定ファイルについては,「(3) NetExecログオンユーザ設定ファイルの詳細」を参照してください。
なお,ConfフォルダとNetExecログオンユーザ設定ファイルについて,Scriptランチャサービスの開始アカウント(ローカルシステムアカウント)に対して,次のアクセス許可が必要です。
- ●Confフォルダ
-
・読み取りと実行:許可
・フォルダの内容の一覧表示:許可
・読み取り:許可
- ●NetExecログオンユーザ設定ファイル
-
・読み取り:許可
-
スタートアップに登録されているScriptランチャを削除する。
-
Windowsサービスマネージャで,Scriptランチャサービスのスタートアップの種類を「自動」に変更し,Scriptランチャサービスを開始する。
-
NetExecログオンユーザ設定ファイルに指定したログオンユーザ名でログオンする。
NetExecコマンドを使用して運用している間は,ログオフしないでください。リモートデスクトップでログオンした場合は,ログオン状態を維持したままセッションを切断すれば,リモートデスクトップサービスクライアントを終了してもかまいません。
- 注意事項
-
-
NetExecログオンユーザ設定ファイルを修正した場合は,Scriptランチャサービスを再起動してください。
-
管理者以外のユーザをログオンユーザ名に指定し,リモートデスクトップ接続を使用してログオンする場合は,ユーザに対して事前にOSのセキュリティの設定で「グローバルオブジェクトの作成」の権利を割り当ててください。
-
NetExecログオンユーザ設定ファイルが存在する場合は,Scriptランチャサービスの開始パラメータに設定した実行ユーザ名は無効となります。
-
Scriptランチャサービスの開始パラメータによる設定に戻したい場合は,NetExecログオンユーザ設定ファイルを削除してください。
-
(3) NetExecログオンユーザ設定ファイルの詳細
NetExecログオンユーザ設定ファイルは,Scriptランチャサービスを使用する場合に,NetExecコマンドで要求されたプログラムをどのユーザのログオン空間で実行するかを指定するファイルです。
(a) ファイル名
SPTHLSV_LogonUser.conf(ファイル名固定)
(b) 格納先フォルダ
JP1/Scriptインストール先フォルダ\Conf\
(c) 設定反映のタイミング
Scriptランチャサービス起動時。
(d) 指定形式
- 指定形式1:
-
優先順位が高い順に改行区切りでログオンユーザを指定
ログオンユーザ名1 ログオンユーザ名2 :
- 指定形式2:
-
ログオンユーザを限定しない場合は「*」を指定
*
(e) 記述内容の説明
- 指定形式1の場合
-
1行に対して1人のログオンユーザ名を256バイト以内で指定します。
ログオンユーザ名は,"ユーザ名","ユーザ名@ドメイン名","ドメイン名\ユーザ名"のどれかの形式で指定します。ログオンユーザ名の指定に「*」(ワイルドカード)は使用できません。
少なくとも1人のログオンユーザ名を指定する必要があります。最大で10人のログオンユーザ名を指定できます。
複数のログオンユーザ名を指定する場合は,優先順位の高い順に指定してください。
NetExecコマンドの実行時に,指定されている順にログオンしているユーザを検索し,最初に見つかったユーザのログオン空間においてNetExecコマンドで要求されたプログラムを実行します。
指定されているユーザが誰もログオンしていない場合は,NetExecコマンドの実行がエラーとなります。
なお,11行目以降の記載は無視されます。
- 指定形式2の場合
-
1行目に「*」(半角アスタリスク)だけを指定します。「*」以外を指定するとエラーになります。
ログオンしているユーザを検索し,最初に見つかったユーザのログオン空間においてNetExecコマンドで要求されたプログラムを実行します。
ログオンしているユーザが見つからない場合は,NetExecコマンドの実行がエラーとなります。
なお,2行目以降の記載は無視されます。
(f) 注意事項
-
NetExecコマンドの実行時には,指定したユーザがログオン状態である必要があります。
-
実行するユーザ(ログオンしておくユーザ)を固定できる場合は,ログオンユーザ名を1人だけ指定することを推奨します。
-
ユーザのログオン状況によるNetExecコマンド自体のエラーを減らしたいという場合に複数のログオンユーザ名を指定してください。
-
複数のログオンユーザ名を指定する場合または「*」を指定する場合は,ユーザのログオン状況によって,実行ユーザが変わります。NetExecコマンドで呼び出すプログラムは,実行ユーザの権限に依存しない作りにしてください。
また,できるだけ画面を表示しない作りにすることを推奨します。画面を表示する場合は,どのユーザに対して画面が表示されるかが分からないため,どれかのユーザが画面を確認できれば問題ないという使い方にしてください。
-
実行中にどのユーザで実行しているかを確認したい場合は,タスクマネージャなどで確認してください。実行後にどのユーザで実行したかを確認したい場合は,サーバトレースファイルまたは実行トレースファイル(呼び出すプログラムがSPTファイルの場合だけ)で確認してください。
-
NetExecログオンユーザ設定ファイルの文字コードはシフトJISだけ対応しています。
(g) 定義例
- Administratorで実行する場合
Administrator
- User01,User02の優先順位で実行する場合
User01 User02
(4) Scriptランチャサービスを使用する運用からScriptランチャを使用する運用への変更手順
Scriptランチャサービスを使用する運用からScriptランチャを使用する運用に変更する場合は,次の手順を実施してください。
-
Windowsサービスマネージャで,Scriptランチャサービスのスタートアップの種類を「手動」に変更し,Scriptランチャサービスを停止する。
-
Scriptランチャのショートカットをスタートアップに登録する。