Windows10にサインインした時にプログラムを自動実行させる方法

Windows10にサインインした時にプログラムを自動実行させる方法

Windowsでは、ユーザーがサインイン(ログオン)したときに、特定のプログラム(アプリ)を自動的に実行させる方法として、スタートアップ機能を利用した方法や、タスクスケジューラーを使った方法、グループポリシーを使った方法があります。

    そこでここでは、Windows10で上に挙げたそれぞれの方法で、ユーザーがサインインした時に特定のプログラムを自動実行させる方法を紹介します。

    Windows10の起動時にプログラムを自動実行させる方法
    ここでは、タスクスケジューラやグループポリシーで、Windows10の起動時(ユーザーがサインインする前)に指定したアプリ(プログラム)を実行させる方法を紹介します。

    動作環境

    この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

    ソフトウェアバージョン
    Windows10 Pro 64bit21H1

    スタートアップ機能を使った方法

    Windowsのスタートアップ機能を使って設定する場合は、実行させたいプログラムまたはプログラムのショートカットをスタートアップフォルダーに配置する方法と、レジストリで設定する方法があります。

    スターアップフォルダーにプログラムを配置する

    スターアップフォルダーにプログラムを配置する手順はとても簡単で、以下のフォルダーに実行させたいプログラムまたはプログラムのショートカットファイルを配置するだけです。

    現在サインインしているユーザーがサインインしたときのみ実行させたいときは、以下のフォルダーに配置します。

    C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

    すべてのユーザーがサインインしたときに実行させたいときは、以下のフォルダーに配置します。

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

    レジストリで設定する

    レジストリで設定するときは、管理者権限でコマンドプロンプトを起動して、以下のコマンドを実行します。

    現在サインインしているユーザーがサインインしたときのみ実行させたいときは、以下のようにコマンドを実行します。

    C:\> reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v "任意の分かりやすい名前" /t REG_EXPAND_SZ /d "実行させたいプログラムファイルのフルパス"

    すべてのユーザーがサインインしたときに実行させたいときは、以下のようにコマンドを実行します。

    C:\> reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "任意の分かりやすい名前" /t REG_EXPAND_SZ /d "実行させたいプログラムファイルのフルパス"

    なお、レジストで設定する方法は、アプリをインストールしたときなどに自動的に登録されるものがほとんどで、ユーザーが手動で登録することはあまりありません。

    スタートアップ機能の便利な点

    スタートアップ機能の便利な点は、スタートアップに登録されたプログラムは、Windowsの「設定」アプリの「アプリ」>「スタートアップ」や、タスクマネージャーの「スタートアップ」タブに一覧表示され、これれの画面から有効/無効を簡単に切り替えることができる点です。

    Windows10にサインインした時にプログラムを自動実行させる方法

    Windowsの「設定」アプリの画面

    Windows10にサインインした時にプログラムを自動実行させる方法

    「タスクマネージャー」の画面

    タスクスケジューラを使った方法

    タスクスケジューラでプログラムをサインイン時に自動実行させる手順は、次のとおりです。

    まず、スタートメニューのプログラム一覧などから「タスクスケジューラ」を起動します。

    Windows10にサインインした時にプログラムを自動実行させる方法

    タスクスケジューラを起動したら、画面右側のメニューから「タスクの作成」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    「タスクの作成」画面が表示されるので、「全般」タブで以下の項目を設定します。

    • 「名前」に任意のわかりやすい名前を入力します。
    • 「タスク実行時に使うユーザーアカウント」で「ユーザーまたはグループの変更」をクリックして「Users」を選択します。(ドメイン環境なら「Domain Users」)
    • 管理者権限が必要なアプリを起動させたいときは「最上位特権で実行する」にチェックを入れます。

    Windows10にサインインした時にプログラムを自動実行させる方法

    次に「トリガー」タブで「新規」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    「新しいトリガー」画面が表示されるので、以下の項目を設定して「OK」をクリックします。

    • 「タスクの開始」で「ログオン時」を選択します。
    • 「設定」では、どのユーザーでサインインしてもタスクを実行したいときは「任意のユーザー」を選択し、特定のユーザーがサインインしたときのみタスクを実行したいときは「特定のユーザー」を選択し、タスクを実行するユーザーを指定します。

    Windows10にサインインした時にプログラムを自動実行させる方法

    次に「操作」タブで「新規」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    「新しい操作」画面が表示されるので、以下の項目を設定して「OK」をクリックします。

    • 「操作」から「プログラムの開始」を選択します。
    • 「参照」をクリックして、実行したいアプリを選択します。(ここでは例として「Microsoft Edge」を指定します。)

    Windows10にサインインした時にプログラムを自動実行させる方法

    次に「条件」タブで「コンピューターを AC 電源で使用している場合のみタスクを開始する」のチェックを外して「OK」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    作成したタスクが「タスクスケジューラライブラリ」の一覧に表示されていることを確認します。

    Windows10にサインインした時にプログラムを自動実行させる方法

    以上で、設定完了です。

    グループポリシーを使った方法

    グループポリシーで、プログラムをサインイン時に自動起動させるときはログオンスクリプトを設定します。

    手順は、次のとおりです。

    Memo

    なお、ログオンスクリプトとして設定したプログラムは管理者権限で実行されるため、おもにバッチファイルやPowerShellスクリプトを実行するときに利用し、一般的なアプリを自動起動させる用途には向かないでしょう。

    また、一般的な方法で設定したログオンスクリプトは、そのコンピューターにサインインするすべてのユーザーで実行されるため、特定のユーザーでのみ実行するといった用途には向かないでしょう。

    検索ボックスに「グループ」と入力するなどして「ローカルグループポリシーエディター(gpedit.msc)」を起動します。

    Windows10にサインインした時にプログラムを自動実行させる方法

    「ローカルグループポリシーエディター」画面が表示されたら、左側のメニューで「ユーザーの構成」>「スクリプト(ログオン/ログオフ)」を選択して、画面右側で「ログオン」をダブルクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    「ログオンのプロパティ」画面が表示されるので「追加」をクリックして、ユーザーがサインインしたときに実行させたいプログラムを指定して「OK」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    Windows10にサインインした時にプログラムを自動実行させる方法

    「ログオンのプロパティ」画面に戻ったら「OK」をクリックします。

    Windows10にサインインした時にプログラムを自動実行させる方法

    最後にポリシーを適用するために、コマンドプロンプトを起動して「gpupdate」を実行します。

    Windows10にサインインした時にプログラムを自動実行させる方法

    以上で設定完了です。

    あとがき

    タスクスケジューラやグループポリシーでプログラムをサインイン時に自動起動させる方法は、スタートアップ機能を使った方法に比べて手間がかかります。

    そのため、あまり利用する機会はないですが、管理者権限が必要なアプリやスクリプトを、ユーザーアカウント制御画面を表示させずにサインイン時に自動起動させたいときには便利です。

    記事が役立ったらシェアしてくれるとうれしいです。