2016-04-01 2 views
0

スケジュールでジョブを実行する方法を探していて、実行中のジョブについてもユーザーに警告します。具体的には、PowerShellを使用してコンピュータラボのシナリオを管理しています。セッション間で、環境をリフレッシュしたり、デスクトップをクリーンアップしたり、次のセッションのタスクバーにショートカットをリセットしたりします。これが起こりそうなマシン。しかし、Balloontipsを通常のスクリプトとして非常にうまく使用するスクリプトは、スケジュールされたジョブとしては機能しません。それらは実行され、ユーザデスクトップにテキストファイルを割り当てるスケジューリングされたジョブを作成して、問題のユーザとして実行されていることを確認しました。しかし、バルーンヒントは実際には表示されません。これを機能させるための秘密はありますか、これはスケジュールされた仕事だけではできない「相互作用」の一形態ですか? 私はまた、別のアプローチを試みました。ブラウザを起動して、差し迫ったクリーンアップのWebページ警告を出しました。それもうまくいきませんでした。スケジューリングされたジョブとしてできることのいくつかの制限を提案する。 私はバルーンチップの非常に「OSと統合された」ルートに行く方がはるかに多いでしょうが、私の人生にとってはオプションではないようです。だから、スケジュールされた仕事によってユーザー情報を提供するための他の提案はありますか?スケジュールジョブとバルーンチップ

+1

彼らは、ユーザーのデスクトップ/ GUI – Matt

+1

へのアクセスを持ってどこ実行していないスケジュール・ジョブが保存され、スケジュールされたタスクとしてトリガ、およびタスクは、セッション0の分離と呼ばれるもので実行される - の種類ユーザーが見ることができない背景のデスクトップ。これは、バルーンのヒント/通知のアイコンなどが表示されない理由です。 –

答えて

0

これは、GUI対話が存在しないセッション0で実行されるため、他のメカニズムに頼る必要があります。

これはセッション間で発生します。 ScheduledJob内から実行される別の「通知スクリプト」を使ってあなたのバロンを表示することができます。ここにはオプションがあります。例:

  • 実行時に自己削除するキーを実行します。ユーザーがログインするとポップアップが表示されます(セッション変更?)。エントリは、あなたが作ることができるパラメータ、すなわち(powershell -File notify.ps1 -ArgumentList "Operation bla bla.."
  • をセッション0で実行されない定期タスクに追加します。あなたはそれを一度だけ行う必要があります。次回にこのジョブを実行すると、ご使用のシステムに応じて、schtasks runまたはScheduledTasksモジュールを介してメインスクリプト内からユーザーに通知を表示します。

  • メインスクリプトの入力を定期的に確認するScheduledTaskをEventLogに追加します。タスクはログオン時に開始され、イベントログ通知を購読します。私はスクリプトがノンストップでなければならないので、これが気に入らない。一般のスケジュールジョブに

関連する問題