WindowsのタスクスケジューラでPowerShellスクリプトをスケジュールする方法

PowerShellスクリプトは、繰り返しタスクを実行する労力を軽減します。定義済み時刻や指定された時間間隔でスクリプトを頻繁に実行する場合は、スクリプトを繰り返し実行せずに済む効率的な方法が必要になる場合があります。この記事では、タスクスケジューラを使用してWindows 11/10でPowerShellスクリプトを定期的に実行する方法について説明します。

タスクスケジューラを使用してPowerShellスクリプトをスケジュールする

PowerShellスクリプトがすでに作成されていることを前提とします。タスクスケジューラを使用してPowerShellスクリプトをスケジュールするには、次の手順を実行します。

  1. Windowsキー+Rを押して実行ダイアログを起動します。
  2. 実行ダイアログにtaskschd.mscと入力します。
  3. CTRL+SHIFT+ENTERキーの組み合わせを押して、管理者モードでタスクスケジューラを開きます。
  4. 左ペインで、タスクスケジューラライブラリ>タスクの作成を右クリックします。
  5. 全般タブで、タスクの名前と説明を設定できます。タスクを作成した目的などです。
  6. トリガータブに切り替えて、新規ボタンをクリックします。ここでは、タスクをトリガーする条件を設定できます。
  7. 次に、アクションタブを開いて、新規ボタンをクリックします。

アクションのドロップダウンでは、プログラムの開始がデフォルトで設定されています。必要に応じて変更できます。

参照を使用して、プログラム/スクリプトフィールドを選択します。スクリプトをスケジュールするには、powershell.exeを選択する必要があります。powershell.exeは、system32\WindowsPowerShell\v1.0フォルダーにあります。

引数の追加で、-Fileパラメータがデフォルトなので、スクリプトパスを指定するだけです。PowerShellスクリプトを作成してデスクトップに保存したとします。

C:\Users\<username>\Desktop\TWC_script.ps1

パスに空白が含まれている場合は、引用符で囲む必要があります。

  • 構成したら、タスクを実行する条件を指定できます。ここで指定した条件が真ではない場合、タスクは実行されません。
  • 設定タブで、タスクの実行を制御する追加の詳細設定を設定できます。
  • 最後に、OKをクリックしてスケジュールされたスクリプトを作成します。
  • もう一度OKをクリックします。これで、タスクスケジューラを終了できます。

スケジュールされたスクリプトは、問題なくスケジュールどおりに実行されます。スクリプトの実行を確認するには、タスク名を右クリックして実行をクリックします。

このようにして、タスクスケジューラを使用してPowerShellスクリプトをスケジュールされたタスクとして実行できます。

PowerShellスクリプトを管理者としてスケジュールするにはどうすればよいですか?

タスクスケジューラを使用してタスクを設定するときは、管理者として実行できるようにするチェックボックスをオンにしてください。これにより、システム管理者アカウントを使用してバックグラウンドでタスクを実行するか、管理者アカウントの場合は使用するアカウントを選択できます。そうでない場合でもタスクは実行されますが、UACプロンプトが表示されます。

PowerShellスクリプトをリモートでトリガーするにはどうすればよいですか?

コンピュータにアクセスするための適切な権限セットがある場合は、FilePathパラメータを指定したInvoke-Commandコマンドレットを使用して、そのコンピュータにあるスクリプトを実行できます。スクリプトを実行すると、プロンプトに結果が表示されます。オプションには、コンピュータ名とスクリプトのファイルパスが含まれます。