- PR -

リモートデスクトップでログオフするとバッチが起動しなくなる

1
投稿者投稿内容
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2008-02-04 09:38
Windowsサーバー上でタスクスケジューラーを使って毎日バッチを起動しています。
このサーバーに対してWindowsXPのリモートデスクトップを使って接続をし、
必要な作業を終えた後、リモートデスクトップを終了します。
このとき、リモートデスクトップを終了する際、ログオフで終了すると、
バッチが起動しなくなるという現象が発生しています。
ログオフでは無く×で終了した場合には問題なくバッチが起動します。
何か対応策が無いかと思い、マイクロソフトのサイト等も探しましたが、
これといった情報を見つけられませんでした。
また対応策がリモートデスクトップでログオフをしないことしかないのであれば、
それでも構わないのですが、マイクロソフトのサイトからその記述が見つけられていません。
マイクロソフトのサイト以外でも構いませんが、
どこか権威のあるサイト(掲示板除く)でこの件に関する記述が無いでしょうか?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2008-02-04 12:41
こんにちは.
引用:

takuさんの書き込み (2008-02-04 09:38) より:

このとき、リモートデスクトップを終了する際、ログオフで終了すると、
バッチが起動しなくなるという現象が発生しています。
ログオフでは無く×で終了した場合には問題なくバッチが起動します。
何か対応策が無いかと思い、マイクロソフトのサイト等も探しましたが、
これといった情報を見つけられませんでした。


「logoff する」という行為が何を意味するか理解できてますか?
それが普通の動作だと思いますよ.
それとも,scheduler で仕掛けた batch が起動しないというお話しですか?
ホー×2のパパ
ベテラン
会議室デビュー日: 2003/11/23
投稿数: 94
投稿日時: 2008-02-04 13:44
タスクスケジューラーで定義してある(バッチを起動する)タスクの実行ユーザと
>このサーバーに対してWindowsXPのリモートデスクトップ
接続しているユーザは同じなんですよね。

>このとき、リモートデスクトップを終了する際、ログオフで終了すると、
>バッチが起動しなくなるという現象が発生しています。
とのことですが、正確には、
リモートデスクトップ経由あるいは、サーバーのローカルに
課題のユーザがログオンしている場合にだけ、
課題のタスクが実行できる状態ではないでしょうか。

例えば、タスクの設定で、
『ログオンしている場合にのみ実行する』のチェックボックスがオンとか、
そのバッチがネットワークドライブを使っている、
ローカルセキュリティポリシーが、
バッチファイルとしてログオンすることを許可していない
といった可能性を疑います。

なお、
>Windowsサーバー
のOSや、バッチファイルの内容、タスクの定義内容、
>バッチが起動しなくなる
具体的な症状を明らかにすると、
コメントが得やすくなるだろうと思います。

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-02-04 14:38
.bat か .cmd が拡張子の batch file ですか?
ならば、cmd.exe の ACL が問題です。

cmd.exe の ACL は見ていただければわかりますが、INTERACTIVE に読み取り実行があるものの通常の user には読み取り実行権限がありません。これはどういうことかというと、INTERACTIVE (対話的) に logon したものに対しては実行できるが、batch logon や network logon に対しては権限が無いということです。

Batch job で cmd.exe を利用したい場合には、cmd.exe に対して "BATCH" 読み取り実行を付与してやることです。
_________________
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2008-02-04 22:28
こんばんは.

失礼しました.
引用:

takuさんの書き込み (2008-02-04 09:38) より:

Windowsサーバー上でタスクスケジューラーを使って毎日バッチを起動しています。


だったんですね.
とすると,ちゃっぴ様の

> INTERACTIVE (対話的) に logon したものに対しては実行できるが、
> batch logon や network logon に対しては権限が無いということです。

が濃厚ですね.
やはり具体的な batch の内容を提示することをお奨めします.
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2008-02-05 10:06
回答遅くなりました。
貴重な情報及び御意見有難う御座います。
特にちゃっぴ様の御回答は非常に助かりました。

 毎日起動しているバッチというのはDB2のリブートなので、
恐らくDB2のbin下にあるリブート用のバットファイルを実行しているだけなんじゃないかと思っています。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2008-02-06 16:21
 途中経過を報告しておきます。

本番DBサーバー上で実行されているbatファイルの中身は、下記のようになっていました。

コード:

shutdown /r /f /c "定期リブート"



 DB2をリブートしてたんじゃなくて、WindowsServerのリブートですね・・・。
これをお客さんの検証環境でタスクに設定して、ログオフをしたら、
動作しませんでした。
尚、確認のため、コマンドプロンプトでこれを実行したら、OSが落ちたまま、
ハードウェア障害で起動しなくなるというおちがありました

[ メッセージ編集済み 編集者: taku 編集日時 2008-02-06 16:25 ]
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2008-02-06 16:51
 上記の結果を元にして、マイクロソフトのサイトを検索したら、
今回の現象とまったく同じ、下記文書にたどり着けました。

http://support.microsoft.com/kb/834100/ja

トラブルあったけど、とりあえず終了です。
1

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