web-dev-qa-db-ja.com

ユーザーがリモートデスクトップ経由でログオンしたときにスケジュールされたタスクを実行するにはどうすればよいですか?

Windows XPのリモートデスクトップを使用してリモートマシンにログオンするたびに、アプリケーションを実行したいと思います。 XPのスケジュールされたタスクとスタートアップモディエONLOGONを使用してスケジュールを設定しました(また、ONSTARTを試しました)。

ただし、マシンに接続しても何も起こりません。また、schtasksログにも何もありません。

与えられた時間または手動で、アプリケーションはスケジュールされたタスクを介して問題なく開始できます!

EDIT:明示的にログアウトした後にのみ機能します。しかし、リモート接続を閉じてから再度接続すると、アプリは呼び出されません。

背景: BgInfo を使用して、デスクトップにシステム情報を印刷しようとしています。これは、ユーザーがシステムにログオンしたときに更新されます。

3
räph

問題が解決しました。もちろん、ONLOGONは私が本当に「ログオン」したときにのみ機能します。しかし、ログアウトせずにリモート接続を閉じると、ログインしたままでセッションをロックするだけです。これが、schtaskが実行されなかった理由です。私の側からの誤解。

もう1つは、ログイン時にbginfoがデスクトップの壁紙に情報を書き込んだことです。しかし、接続を閉じて再接続すると、壁紙が消えてしまいました。これは、リモートデスクトップ接続の構成で修正できます。デスクトップを許可するための「詳細」オプションがあります-リモートでログインしたユーザーが背景を変更するように!

2
räph

すべてのユーザーのスタートメニューのスタートアップフォルダーにアプリケーションを配置するだけです。ユーザーがリモートデスクトップ接続を使用しているか、必要に応じてローカル接続を使用しているかをプログラムでテストする方法はありますが、最後にそれを行わなければならなかったのは久しぶりです。

2
WheresAlice

スケジュールされたタスクとしてではなく、次のようにBGInfoを設定してみてください。

で小さなスクリプトを作成する

c:\bginfo\bginfo.exe /i:c:\bginfo\bginfoservers.bgi /timer:0 /accepteula

必要に応じてパスを変更してください。 BGinfo.cmdとして保存します

次に、BGInfo.cmdへのショートカットを作成し、すべてのユーザーのスタートアップフォルダーに配置します。これは、誰かがサーバーに接続するたびに実行されます。 [スタート]メニューに移動し、すべてのプログラムを選択し、[スタートアップ]を右クリックして、[すべてのユーザーの探索]を選択すると、[すべてのユーザー]スタートアップフォルダーに移動できます。

0
Fishwalker