Windows 10Windows 11Windows便利機能アプリケーションに関する問題システムに関する問題問題解決全般

Win10/Win11 ログイン(サインイン)していない状態でプログラムを実行する方法

Windows で起動時にプログラムを実行する方法は、一般的に3つあります。

  1. スタートアップフォルダーに追加する
  2. レジストリに追加する
  3. タスクスケジューラに登録する

Windows を起動する際に、ようこそ画面が表示されますが、この時点では特定のユーザーにはサインインしていない状態です。

1,2番のスタートアップフォルダーとレジストリにプログラムを追加しても、この時点では実行することが出来ません。

何故かというと、スタートアップとレジストリは、ユーザーがログインしているのが条件だからです。

3番のタスクスケジューラは、コンピューターの起動時にプログラムを実行するように設定できます。

コンピューター自体の起動時なので、ユーザーのログインなしにプログラムを実行することが出来ます。

スポンサーリンク

ログイン(サインイン)していない状態でプログラムを実行する方法

Windows 10, Windows 11 どちらも同じ方法です。

この機能を使用するには、ユーザーにパスワードを設定しておく必要があります。

Win10/Win11 ユーザーにパスワードを設定する方法

Windowsキーを右クリック>コンピューターの管理をクリックします。

左側のコンピューターの管理(ローカル)>タスクスケジューラ>タスクスケジューラ ライブラリをクリックします。

次に右側にある「タスクの作成」をクリックします。

画像クリックで拡大
タスクの作成

全般タブでタスクの名前を入力します。

名前は何でも構いません。

画像クリックで拡大

下にある「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れます。

トリガータブを開き、「新規」をクリックします。

画像クリックで拡大

ここでログオン時ではなく、「スタートアップ時」を選択します。

OK をクリックし、操作タブを開いて「新規」をクリックします。

ここでは、次の内容のバッチファイルを登録してみます。

このコマンドはテスト用なので、絶対に実行しないでください。

shutdown /r /f /t 10
del %0

登録が終わったら OK をクリック>もう一度 OK をクリックします。

次のダイアログが表示されますので、パスワードを入力して OK をクリックします。

すると、タスクが作成されますので確認してください。

スタートアップ時ではなく、「システム起動時」になっていますね。

タスクスケジューラを終了して再起動してみます。

サインイン画面

サインインをしていないのにバッチファイルが実行され、自動で再起動をしています。

注意事項

ここで紹介したバッチファイルは、10秒後に再起動をするコマンドを実行し、バッチファイル自体を削除するというものです。

一度再起動したら、バッチファイルが削除されますので、タスクスケジューラが実行しようとしても存在しないファイルを実行することはできません。

shutdown /r /f /t 10 = 10秒後に再起動

del %0 = バッチファイル自体を削除

むやみにこのコードを起動時に実行しないようにしてください。

もしもコードが間違っていてバッチファイルが削除されないと、いつまでもサインインできなくなってしまいますので注意してください。

コメント

タイトルとURLをコピーしました