- PR -

atコマンドで他サーバにコピーできません。

投稿者投稿内容
ちゅき
常連さん
会議室デビュー日: 2005/02/18
投稿数: 41
お住まい・勤務地: 関西
投稿日時: 2005-02-22 10:45
引用:
こちらだと、内部処理はAT Commandと一緒なので解決にはならないでしょうね。


失礼しました。NETWORK_SERVICEの資格で動くのは、Windows XP SP1 or Windows Server 2003以降でした。Win32_ScheduledJob

罪滅ぼしにataskコマンドで検証してみました。

引用:
TASK_TRIGGER_FLAG_DISABLED



実行されないことを示すフラグにチェックが入っていますよね。このフラグはGUIのチェック(TASK_FLAG_DISABLED)より優先されるようです(参考資料より)。GUIでは外れないようですのでコマンドではずしてください。
コード:

atask --set test.job TASK_TRIGGER_FLAG_DISABLED 0



登録時に実行をチェックしたくないのであれば以下でどうでしょう

コード:
atask --set test.job ApplicationName "c:\temp\filecopy.bat" Account "名前" Password "パスワード" TASK_FLAG_DELETE_WHEN_DONE 1 TASK_FLAG_DISABLED 1 wBeginYear 2005 wBeginMonth 02 wBeginDay 22 wStartHour 09 wStartMinute 09 TriggerType 0 TASK_TRIGGER_FLAG_DISABLED 0



<ご参考>TASK_TRIGGER構造体あたりをご覧ください。ATaskはこれらを利用してます
ITaskTrigger::SetTrigger



[ メッセージ編集済み 編集者: ちゅき 編集日時 2005-02-22 10:54 ]

[ メッセージ編集済み 編集者: ちゅき 編集日時 2005-02-22 10:56 ]
見習管理者
ベテラン
会議室デビュー日: 2003/06/17
投稿数: 64
投稿日時: 2005-02-22 11:53
試行錯誤の結果、実行できました。

結局は自分の注意不足でした。
ataskをダウンロードしたときに同梱されていたファイルを参考にして
オプションを設定していたのですが、文章の最後のほうに注意事項として
はじめは意図的に動作禁止状態にあると書いてありました。

# ついつい取説を最後まで読まない癖が出てしました
# 直さないといけないですね。

以下のようにして解決しました。
atask --new test.job
atask --set test.job ApplicationName "c:\temp\filecopy.bat" Account "account" Password "password" TASK_FLAG_DELETE_WHEN_DONE 1 wBeginYear 2005 wBeginMonth 02 wBeginDay 22 wStartHour 11 wStartMinute 30 TriggerType 0
atask --set test.job task_flag_disabled 0 task_trigger_flag_disabled 0

セットしてから実行可能状態にしてあげました。

Mattunさん、未記入さん、井上孝司さん、ちゃっぴさん、ちゅきさん
ありがとうございました。
というか、自分のミスで時間を取らせて申し訳ありませんでした。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-22 12:09
引用:

古くからある問題なんですけどねぇ… Task Scheduler サービスを、LocalSystem ではなくて、当該サーバにアクセス権を持つユーザーの資格で実行させれば解決しますよ。


比較的新しい問題だと思いますけど。

旧 Scheduler サービスならおっしゃる通り、サービスの実行アカウントを変更することで回避できますが、これはセキュリティ上の理由により使えなくなりました。IE5.5 インストールで Scheduler サービスが Task Scheduler サービスにクラスチェンジします。

で、新 Task Scheduler サービスは実行アカウントを設定することができないのです。その代わりに、ジョブ単位での設定が細かくできるようになり、ジョブ単位で実行アカウントを設定するべきである、という方針に変わりました。

XP では schtasks.exe があるから困らない。NT4.0 で Task Scheduler にアップグレードしてなければ、サービス実行アカウントが変更できるので困らない。中間の 2000 で、この問題にぶつかることが多いようです。
見習管理者
ベテラン
会議室デビュー日: 2003/06/17
投稿数: 64
投稿日時: 2005-02-22 13:02
引用:

古くからある問題なんですけどねぇ… Task Scheduler サービスを、LocalSystem ではなくて、当該サーバにアクセス権を持つユーザーの資格で実行させれば解決しますよ。


ごめんなさい。こちらは確認してみたのですが、分かりませんでした。

引用:

比較的新しい問題だと思いますけど。


皆さんは自分のようなことはないのでしょうか?
また同じような事象がある場合、どのように解決しているのか気にはなるところではあります。
ちゅき
常連さん
会議室デビュー日: 2005/02/18
投稿数: 41
お住まい・勤務地: 関西
投稿日時: 2005-02-22 13:23
引用:
皆さんは自分のようなことはないのでしょうか?


というか、FAQかも^^;。システム アカウントで実行されているサービスがネットワークにアクセスできない

以前は、ご指摘の通りTask Schedulerサービスの起動アカウントを
変えることで対処してまいた。現在ATコマンド起動ユーザの設定は
タスクGUIの「詳細設定」メニュー→「ATサービスのアカウント」で
設定します。(あまりセキュリティ面を考慮するとお勧めしませんが)
昔は我慢して使うか、自前で作るかしてました^^;

見習管理者
ベテラン
会議室デビュー日: 2003/06/17
投稿数: 64
投稿日時: 2005-02-22 13:53
引用:

というか、FAQかも^^;。システム アカウントで実行されているサービスがネットワークにアクセスできない


情報ありがとうございます。こういうこともあるんですね。

引用:

昔は我慢して使うか、自前で作るかしてました^^;


精通している方なら自前で作れると思うのですが、
なにせ自分は知識がまだまだなもので、そこまで行き着きません・・・。
せいぜい前任者の置いていった物を解析しながら使いまわしする程度です

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