このページでは、Windows 10/11 の起動時に、まだサインインをしていない状態で任意のプログラムを実行する方法を紹介します。
起動時にプログラムを実行する方法は、一般的に3つあります。
- スタートアップフォルダーに追加する
- レジストリに追加する
- タスクスケジューラに登録する
Windows の起動時に表示されるサインイン画面では、特定のユーザーアカウントにはサインインしていない状態であり、1,2番の方法では実行することが出来ません。
その理由は、スタートアップとレジストリに登録したプログラムは、ユーザーアカウントにサインインしてから実行されるためです。
3番のタスクスケジューラを利用すれば、ユーザーアカウントにサインインをしていなくてもプログラムを実行できます。
サインインせずにプログラムを実行する方法
※Windows 10/11 どちらも同じ方法で登録することができます。
この機能を使用するには、事前にユーザーアカウントにパスワードを設定しておく必要があります。
1.スタートボタンを右クリック>「コンピューターの管理」をクリックします。
2.左側のコンピューターの管理(ローカル)>タスクスケジューラ>「タスクスケジューラ ライブラリ」をクリックします。
3.次に右側にある「タスクの作成」をクリックします。
4.「全般」タブでタスクの名前を入力します。(名前は自由に変更して下さい)
5.下にある「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れます。
6.「トリガー」タブを開き、「新規」をクリックします。

7.「新しいトリガー」が開きますので、「タスクの開始」で「スタートアップ時」を選択します。
8.OK をクリックし、「操作」タブを開いて「新規」をクリックします。
9.例えば、ここでは下記の内容のバッチファイルを登録してみます。
バッチファイルのフルパスを入力します。(ダブルクォーテーション「””」でパスを囲んでおきましょう)
shutdown /r /f /t 10
del %0
上記のコマンドはテスト用なので絶対に登録しないでください。
上記のコマンドは、10秒後に再起動をするコマンドを実行し、バッチファイル自体を削除するという内容です。
一度再起動したらバッチファイルが自動で削除されますので、タスクスケジューラが実行しようとしても存在しないファイルを実行することはできなくなり、通常通り Windows が起動します。
コマンド | 意味 |
---|---|
shutdown /r /f /t 10 | 10秒後に再起動 |
del %0 | バッチファイル自体を削除 |
しかし、もしコマンドを間違って入力してバッチファイルが削除されなかった場合、起動のたびに再起動を繰り返してサインインができなくなってしまいます。
10.登録が終わったら OK をクリック>もう一度 OK をクリックします。
11.「このタスクを実行するユーザーアカウント情報を入力してください。」と表示されますので、パスワードを入力して OK をクリックします。
※Microsoft アカウントの場合は、Microsoft アカウントのパスワードを入力してください。(PIN ではない)
12.すると、タスクが作成されます。
13.「スタートアップ時」ではなく、「システム起動時」になっていますね。
14.確認ができたら、タスクスケジューラを終了して PC を再起動してみましょう。

上の画像では、サインインをしていない状態で先ほど登録したテスト用のバッチファイルが実行され、自動で再起動をしています。
上記の手順を参考に、ご自身の好きなプログラムやバッチファイルを登録してみてください。
コメント