- PR -

ログオフした後にタスク実行

投稿者投稿内容
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2005-11-04 11:33
タスクスケジューラでログオフした後にタスクを実行したい、と考えております。
(ログオフすると実行中のタスクが終了させられてしまうからです。
たとえタスクを実行しているアカウントがシステム権限であったとしても。)

タスクスケジューラではコンピュータ起動時、ログオン時などはあっても
ログオフ時というものはありません。

何かいい方法はありませんでしょうか?
どなたかいい方法をご存知でしたらご教授ください。
よろしくお願いします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-11-04 11:45
こんにちわ.

group policy に logoff script を設定する箇所があります.
そちらを利用されてみては?
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2005-11-04 13:15
>group policy に logoff script を設定する箇所があります.

それはログオフ後に実行されるものなのでしょうか?

ログオフ時ではなくて、ログオフ後に動くようにしたいのです。。。
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-11-04 13:21
引用:

>group policy に logoff script を設定する箇所があります.

それはログオフ後に実行されるものなのでしょうか?


ログオフ時に、です。

引用:

ログオフ時ではなくて、ログオフ後に動くようにしたいのです。。。


ログオンしてない状態で、特定の処理を動作させたい、とかでしょうか?
ログオンしてるときはその処理は行わせる?行わせない?
引用:

(ログオフすると実行中のタスクが終了させられてしまうからです。
たとえタスクを実行しているアカウントがシステム権限であったとしても。)


を見る限りだと、ログオン状態に関係なくなにか処理させたい、と読めるんだけど、
それだとしたら、サービスとして動作させるというアプローチが自然でしょう。

具体的な方法や可能か否かについては、
その処理がどんな代物なのか書かれてないのでなんともいえないです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-11-04 13:43
つまり logoff するのを trigger とするとかではなく,
常に back ground で動いていて欲しいということでしょうか?
であれば,Mattun 様のご指摘のように service として動かす方法になります.
ですが,service では動かないものもありますので,
「どんな?」がないと Mattun 様同様,適切な助言はできかねるかと.
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2005-11-04 14:16
具体的な話がなくてわかりにくかったと思います。すいません。

どんなことをやりたいか、と言いますと、
サービスを使わずにログオン状態に関係なく
常に back ground で動いていて欲しいということです。
(サーバソケットを使った通信プログラムなので一度起動させて
ずっとそのままにしておきたいのですが・・・。)

とりあえず、タスクスケジューラを使ってコンピュータ起動時で
プログラム起動のためのbatファイルを設定することで可能かと思いきや、
ログオフされると終了させられてしまうので、どうしたものか、と悩んでいたところです。

やはりサービスとして動かす以外に手はないのでしょうか??
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-11-04 14:36
引用:

見習いSEさんの書き込み (2005-11-04 14:16) より:

やはりサービスとして動かす以外に手はないのでしょうか??


batch でも内容によっては service に登録して実行させられますよ.
以前 WindowsNT/2k のときに,
instsrv を使って srvany で batch を service として走らせました.
Windows Server 2003 でも可能だと思います.

以上,ご参考までに.
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-11-04 14:58
引用:

ログオン状態に関係なく
常に back ground で動いていて欲しいということです。
(サーバソケットを使った通信プログラムなので一度起動させて
ずっとそのままにしておきたいのですが・・・。)


そういうのを、Windowsでは「サービス」と呼ぶんですから、
引用:

やはりサービスとして動かす以外に手はないのでしょうか??


と言われても、出来上がったもの、やってることは「サービス」ですし、
サービスとして動作させる方法を考えるのが自然かと思います。

その通信プログラムのカスタマイズが可能なら、サービスとして動作させる
ような内容に変更する、のが一番でしょう。
サンプルはMSDNでも覗けばたぶん載ってます。
# 僕は開発はあまり知らないので、詳細は知りません。

プログラムの変更無しでやるなら、すでに紹介されているsrvanyか、
フリーウェアのsexeあたりですね。
これで問題なく動作させられるかはそのプログラム次第です。
デスクトップ環境が必須なアプリであれば、やはりログオンした状態じゃないと
動作させられませんから。
_________________
Mattun
Microsoft MVP for Directory Services
(Oct 2006-Sep 2007)

スキルアップ/キャリアアップ(JOB@IT)