PowerShellスクリプト(.ps1ファイル)は、Windowsシステム管理や自動化に非常に便利なツールです。
しかし、「毎回手動で実行するのは面倒」「定期的に自動実行したい」というニーズも多いでしょう。
この記事では、PowerShellスクリプトを自動実行するための3つの代表的な方法を、わかりやすく解説します。
目的に合わせて最適な方法を選んでください。
方法①:タスクスケジューラで時間指定して自動実行

タスクスケジューラを使えば、指定した時間や条件でPowerShellスクリプトを自動実行できます。
定期的なバックアップやメンテナンス作業に最適です。
使いどころ
- 毎日特定の時間に実行したい
- 週に1回のデータ集計を自動化したい
- システム起動から一定時間後に実行したい
設定手順(Windows 10/11共通)
- タスクスケジューラを起動する
Windowsキー
+S
→ 「タスクスケジューラ」と入力して検索結果から選択
- 新しいタスクを作成する
- 右側のアクションパネルから「基本タスクの作成」をクリック
- タスクの基本情報を入力
- タスク名(例:「毎日のログバックアップ」)
- 説明(任意)を入力して「次へ」
- 実行するタイミングを設定
- 「毎日」「毎週」「月単位」など適切なトリガーを選択
- 開始時刻や頻度を設定して「次へ」
- 実行するアクションを設定
- 「プログラムの開始」を選択して「次へ」
- プログラムと引数を指定
- プログラム/スクリプト欄に以下を入力:
powershell.exe
- 引数の追加欄に以下を入力:
-ExecutionPolicy Bypass -File "C:\Scripts\YourScript.ps1"
- 「C:\Scripts\YourScript.ps1」は実際のスクリプトのパスに置き換えてください
- プログラム/スクリプト欄に以下を入力:
- 設定を確認して「完了」をクリック
高度なオプション
タスクの「プロパティ」画面で、以下のような詳細設定も可能です:
- 「最上位の特権で実行する」にチェックを入れると管理者権限で実行
- 「ユーザーがログオンしているかどうかにかかわらず実行する」を選択すると、バックグラウンドで動作
方法②:Windowsログオン時に自動実行する

PCの起動時やユーザーのログイン時に特定のスクリプトを自動実行したい場合に便利です。
使いどころ
- PCを起動するたびに環境をセットアップしたい
- ログイン時に監視スクリプトを自動起動したい
- 作業開始前の準備を自動化したい
設定手順
- バッチファイルを作成する
- メモ帳などのテキストエディタを開く
- 以下の内容を入力して保存:
@echo offpowershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\YourScript.ps1"
- 「run_ps_script.bat」などの名前で保存(拡張子は.batに)
- スタートアップフォルダにショートカットを作成
Windowsキー
+R
→ 「shell:startup」と入力して「OK」- スタートアップフォルダが開くので、作成したバッチファイルのショートカットをここに配置
これにより、Windowsにログオンするたびに自動的にスクリプトが実行されるようになります。
代替方法:レジストリを使う方法
より高度な設定をしたい場合は、Windowsレジストリの以下の場所にバッチファイルやスクリプトへのパスを登録することもできます:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
方法③:クリック一発で実行(バッチファイルでラップ)

PowerShellスクリプトをダブルクリックで簡単に実行できるようにする方法です。
非技術者でも使いやすくなります。
使いどころ
- 一般ユーザーにもスクリプトを簡単に実行してもらいたい
- 毎回PowerShellを起動して実行する手間を省きたい
- 複数のスクリプトを順番に実行したい
設定手順
- バッチファイルを作成
- 以下の内容のバッチファイル(.bat)を作成:
@echo offecho スクリプトを実行しています...powershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\YourScript.ps1"echo 完了しました!pause
- 以下の内容のバッチファイル(.bat)を作成:
- わかりやすい場所に配置
- 作成したバッチファイルをデスクトップやわかりやすいフォルダに配置
- 必要に応じてアイコンを変更したり、名前をわかりやすくしたりする
これで、バッチファイルをダブルクリックするだけでPowerShellスクリプトが実行されるようになります。
最後のpause
コマンドにより、実行完了後もウィンドウが閉じずに結果を確認できます。
実行ポリシーについての注意事項

PowerShellには、セキュリティのために「実行ポリシー」という仕組みがあります。
これにより、スクリプトの実行が制限される場合があります。
現在の実行ポリシーを確認
PowerShellを開いて以下のコマンドを実行します:
Get-ExecutionPolicy
一時的にポリシーを回避する方法
スクリプト実行時に-ExecutionPolicy Bypass
パラメータを使用すると、現在の設定を変更せずにポリシーを回避できます:
powershell.exe -ExecutionPolicy Bypass -File "C:\Path\To\script.ps1"
恒久的にポリシーを変更する方法(管理者権限が必要)
Set-ExecutionPolicy RemoteSigned
まとめ:PowerShellスクリプト自動実行方法の比較
方法 | 主な用途 | メリット | 注意点 |
---|---|---|---|
タスクスケジューラ | 定期実行、特定時間に実行 | 細かいスケジュール設定可能 GUI操作で設定可能 | 設定が少し複雑 管理者権限が必要な場合あり |
スタートアップ登録 | ログオン時に自動実行 | 設定が簡単 ユーザー単位で制御可能 | PCを再起動しないと実行されない 実行順序の制御が難しい |
バッチファイル | ダブルクリックで実行 | ユーザーフレンドリー 複数のスクリプトを連携可能 | 手動操作が必要 自動実行ではない |
目的や頻度に応じて、最適な方法を選択してください。
また、重要なシステムやセキュリティに関わるスクリプトの場合は、適切なエラーハンドリングとログ記録を組み込むことをお勧めします。
コメント