一斗缶観測日記

PCやソフトの設定、Tipsなどを時折投稿します

SYSTEM権限でタスクスケジューラを実行する方法

 タスクスケジューラの設定を修正する時に

このタスクを実行するユーザーアカウント情報を入力してください

という認証画面が出た時の対処法についてメモ。

 さくっと解決方法が見たい方は

に飛んでください。

 

 

状況について

 タスクスケジューラの設定を修正しようとするとユーザーアカウント情報の入力を求められます。

f:id:fuelok:20210214125437j:plain

 普段使っているユーザー名で認証しようとしてもエラーが表示されます。ユーザー名・パスワードともに正しいのに同様のエラーとなり変更できません。

f:id:fuelok:20210214125853j:plain

 調べたところ「タスクの実行時に使うユーザーアカウント:SYSTEM」になっているタスクに関して発生する現象のようです。SYSTEMユーザーが作ったタスクを別のユーザーが変更することは許さないということなのでしょう。

f:id:fuelok:20210214130145j:plain

 

 管理者アカウントならいけるかと思い、管理者権限でタスクスケジューラを実行してみます。

f:id:fuelok:20210214130555j:plain

 

これならいけるかと思いましたが・・・
f:id:fuelok:20210214125437j:plain

・・・やはり駄目でした。

 

 以下のサイトによるとMicrosoft純正アプリの「PsTools」を利用するとSYSTEM権限でアプリを開けるようです。

タスクスケジューラのRebootを削除・無効する方法
http://reviews.f-tools.net/Trouble/Del-Reboot.html#SYSTEM

直接PsToolsを実行してタスクスケジューラを開くのではなく、PsToolsでSYSTEM権限のコマンドプロンプトを起動して、そこからタスクスケジューラを開くという2段階のようです。

 そんなわけでやってみましょう。

 

対処法について

  1. Microsoftの公式サイトからPsToolsをダウンロード

     PsTools (PsExec) https://docs.microsoft.com/ja-jp/sysinternals/downloads/psexec

  2. ダウンロードフォルダに保存して解凍しておく。この「PsExec.exe」はエクスプローラー上で実行はしないが、ファイルの場所をメモっておく。

    f:id:fuelok:20210214134127j:plain

  3. コマンドプロンプトを管理者として実行する
  4. 以下のコマンドを入力し、PsTools経由でコマンドプロンプト(SYSTEM権限)を開く。

     C:\Users\【★ユーザー名】\Downloads\PSTools\PsExec.exe -s -i cmd

    ※オプションの「-s」はSYSTEM権限で実行するため、「-i」はおそらくGUIで操作するため。詳細な定義が知りたい方は PsExec | Microsoft Docs を見てください

  5. コマンドプロンプト(SYSTEM権限)でタスクスケジューラを実行する

     C:\Windows\system32\taskschd.msc

  6. あとは自由にタスクスケジューラを修正すればOKです

 

 

もし今開いているコマンドプロンプトの画面が「管理者」なのか、「SYSTEM」なのかわからなくなった時は「whoami」と入力するとわかりやすいです。

 

 ↓ 管理者の場合ディレクトリが「【端末名】¥【ユーザー名】

f:id:fuelok:20210214135218j:plain

  ↓ SYSTEMの場合ディレクトリが「nt authority¥system

f:id:fuelok:20210214134357j:plain