
スケジュールされたタスクを作成した後、このスーパーユーザーの質問、UAC プロンプトなしでサービスを正常に開始できます。選択したオプションは次のとおりです。
Start a program
Program\script
=C:\Windows\System32\net.exe
Add arguments (optional)
=start "SERVICE-NAME"
次に、バッチ ファイルで を呼び出しますschtasks /run /tn TASK-NAME
。これをテストした後、バッチ ファイルへのショートカットを作成し、Run
オプションを に設定しましたMinimised
。
これはすべて機能しますが、実際のサービスが開始されると、最大化されたコマンド プロンプト ウィンドウが 1 行でポップアップ表示されますThe SERVICE-NAME service is starting
。これは数秒後に消えます。
タスク スケジューラに、ポップアップなしで対象プログラムをサイレント (または最小化) で起動するように指示するにはどうすればよいですか? ポップアップ コマンド プロンプトが最小化されていれば問題ありません。
答え1
問題は、ショートカットを最小化して実行するように構成すると、スケジュールされたタスクを開始するプログラムのみが最小化されて起動され、タスクが実行するプログラムは起動されないことです。ルーブ ゴールドバーグ マシンの起動シーケンスにもう 1 つのピースが必要な場合は、次の変更を加えます。
Program\script
=C:\Windows\System32\cmd.exe
Add arguments (optional)
=/c start /min net start "SERVICE-NAME"
最初の「start」はcmd.exe
start
、次の 2 つの機能に使用するコマンドです。
- 起動が
net.exe
最小化されました。 - 終了するまで待つのではなく、起動したら
taskeng.exe
すぐに終了します。net.exe
taskeng.exe
この解決策は、起動するまで短時間点滅しますnet.exe
が、通常は 1 秒未満であるため、完璧ではないことに注意してください。
答え2
ウィンドウが点滅することなくサービス(または他のプログラム)を起動できます。最小化さえされていない。
タスクを作成します:
- コマンド/スクリプト:
mshta.exe
- 引数を追加します(オプション):
"javascript: new ActiveXObject('shell.application').ShellExecute('net.exe', 'start <SERVICE-NAME>', '', 'open', 0); close();"
サービスを開始するには管理者権限が必要なので、チェックしてください最高権限で実行する最初のタブで。
ウィンドウを表示せずにタスクを実行するには、同じトリックを使用します。次のコマンドでショートカットを作成します。
mshta.exe "javascript: new ActiveXObject('shell.application').ShellExecute('schtasks.exe', '/run /tn <TASK-NAME>', '', 'open', 0); close();"
ノート
- ショートカットを実行するユーザーは管理者である必要があります。これは、通常のユーザーは自分のタスクのみを実行でき、このタスクは最高の権限を持つタスクであるためです。そうでない場合、コマンドは
schtasks
「アクセスが拒否されました」というメッセージで失敗します。 - タスクがタスクフォルダ内にある場合、はシェルからで
/tn <TASK-NAME>
あり、/tn <FOLDER>\<TASK>
バックスラッシュを2倍にするmshta
ショートカットのコマンドでそれをエスケープします。 - 一部のウイルス対策プログラム (少なくとも Kaspersky) では、
mshta
この方法を使用するタスクを疑わしい、または潜在的なリスクと見なして削除する場合があります。 - このトリックを使用すると、ポップアップせずに隠されたプログラムを実行できます。
net.exe
プログラムの名前とstart <SERVICE-NAME>
必要なパラメータの部分に置き換えるだけです。
答え3
私にとってはこれが唯一の解決策です。Windows 11