0

コントロール パネルの [スケジュールされたタスク] を使用して、Windows Server でシステムの起動時に .bat スクリプトを実行するようにスケジュールし、代わりにこの実行を実行するユーザーを指定できます。

しかし、このスクリプトが起動して他のプログラムを実行すると、システムにログインしてもそれらはすべて見えなくなります。タスク マネージャーに表示されますが、ユーザー セッションが 1 つしか確立されていません。

彼らは、これらのコンソールとアプリケーションを表示して、実行プロセスを確認し、必要に応じて停止できるようにする方法があるかどうかを尋ねています。

4

3 に答える 3

1

ユーザーが管理者権限を持っている限り、これは非常に簡単です。タスクマネージャーの左下に「すべてのユーザーのプロセスを表示」できるボタンがあります。

私はこれを毎日やっています...

各プログラムからの stdout の出力に関心がある場合は、それを textfile/logfile にパイプする必要があります。

新しいログファイルを作成して書き込むには、次を使用します。

program.exe > logfile.txt

既存のものに追加する場合:

program.exe >> logfile.txt

プログラムの実行中にこれらのログファイルを監視するには、tail のようなログファイル ローラー ( http://tailforwin32.sourceforge.net/ ) を使用します。

それに加えて、このユーザーとしてログインせずに、別のユーザーから画面に UI 出力を取得することは可能だとは思いません。しかし、実際に同じユーザー セッションにログインしている場合は、スクリプトがプログラムを実行すると、プログラムの UI がポップアップするはずです。

于 2013-02-21T14:18:35.983 に答える
0

バッチファイルの最後に、

  pause

これを続行するには、ユーザーからの入力が必要です。または、必要に応じて、ステートメントの間に配置できます。

@echo を実行して、エンド ユーザーにメッセージを伝えることもできます。

于 2013-02-21T14:17:08.230 に答える