2015/11/22

Windowsの・・・

・・・起動や終了などのタイミングで 任意のプログラムやスクリプトを実行させる方法の1つ


[グループポリシー] での [スクリプト] の 指定を、その問題点も含めて取り上げてみる。
◆ この機能では、
・[スタートアップ]イベント - [ログオン]直前
・[ログオン]/[ログオフ]イベント - それぞれの操作を行った直後
・[シャットダウン]イベント - [ログオフ]直後
それぞれで 実行させたいプログラムを設定できる。 ◆ 注意点としては、
・[ログオン]/[ログオフ] は [ユーザーの切り替え] では イベントが発生しない。

・UACの影響で起動出来ないアプリケーションやスクリプトもある。
 (コレ起因で以下参考設定は稼動しない環境もありえる)

・[シャットダウン]イベントでは ネットワークを用いた処理は実行出来ない。
 コレは、この時点で既に ネットワークサービスが停止している為である。
くらいか・・・
■ 以下は、実行しているプログラムを強制終了するスクリプト tProcess.vbe に、JACK Audio Connection Kit の サービスプログラムである jacckd.exe を 指定して、[ログオフ]イベントで強制終了させる定義 を 例に 画像を配列して診た。 ・・・他のイベント設定でもヤる事は同じである。
■ とりあえずグループポリシーエディタを起動しよう。
◆ [スタート]メニューを開いて、

[ファイル名を指定して実行]・・・

◆ 入力枠に、

gpedit.msc と 入力。

[OK]
■ 続いてスクリプトを追加する画面を開く。
◆ 今回は[ログオフ]イベントを対象としているので、[ユーザーの構成]側の[Windowsの設定]を開く。

もし [スタートアップ]や[シャットダウン]イベントなら、[コンピューターの構成]側の[Windowsの設定]を開く。
◆ [スクリプト]を開く。 ◆ [ログオフ]を開く。
■ ココまで来たら@は対象を追加していくだけ。
◆ [ログオフのプロパティ]が開いたら、[追加]をクリック。


◆ [スクリプトの追加]では まず、実行したいスクリプトやプログラムのフルパスを入力するか、

[参照]ボタンで開く画面で対象を選択する。

続いて、プログラムやスクリプトに受け渡すパラメータを記述。

今回の例では jackd.exe とする。 ・・・パラメータがナイなら ココは不要。

[OK]を押して閉じる。


◆ 他に追加するモノが無いなら ココでも[OK]を押し、

・・・画面を閉じる。

◆ 完了、この画面も閉じる。
■ 但し、
この例のように UACの影響を受けるフォルダ([C:\Program Files]などの配下)へ格納された対象を指定すると 機能しなモノもある。
コレは [スタートアップ]フォルダへショートカットを配置しても、実行を開始出来ないアプリケーションが存在するのと同じ理由だ。
もし VBScriptやPowerShellを実行したいだけなら、素直にグループポリシーのフォルダ([ファイルの表示]ボタンを押すと開く)へ・・・
その実体フォルダは 以下パスでも開くことが出来る
[ログオフ]の場合 ▲
・・・スクリプトファイルを格納しておくほうが無難だろう。 ■ また、
単に [スタートアップ] / [ログオン] / [ログオフ] で UACの影響を回避しつつアプリケーションを実行させたいだけなら、
[タスクスケジューラ] を 使用するほうが容易であるのも事実だ。

◆ 注)
[タスクスケジューラ] では 今現在(20151122 060723)、[シャットダウン] イベントには対応していない。

終了時イベントとしては [ログオフ] のみ、[タスク] の プロパティ、[トリガー] タブ内で 任意の [トリガーの編集] 画面で、
[タスクの開始] 項目に [ユーザーセッションからの切断時] を 選択するコトで、ほぼ その代替と出来る。
タスクスケジューラの・・・ - おきつねさまのひまこみゅ [ 20151122 083900 ]

0 件のコメント:

コメントを投稿