web-dev-qa-db-ja.com

SchTasksで「最高の権限で実行」を指定するにはどうすればよいですか?

[〜#〜] gui [〜#〜]タスクスケジューラを使用すると、「最高の権限で実行 "チェックボックス。

SchTasksコマンドラインにもそのようなオプションはありませんでした。

コマンドラインからそれを行う方法はありますか?

22
WinWin

これが/ RLオプションの機能です。

例:SCHTASKS /Create /TN "New Task" /SC HOURLY /TR blah.exe /RU username /RP password /RL HIGHEST

27
Skatterbrainz

/RL levelジョブの実行レベルを設定します。有効な値はLIMITEDおよびHIGHESTです。デフォルトはLIMITEDです。

5
Andrey

@Skatterbrainzの回答に追加するには:XP/2003で同じコマンド/スクリプトを実行し、/ RLを指定すると、SchTasks.exeはタスクの作成に失敗します。

レジストリからOSバージョンを取得することで、XP、2003、Vista、2008、7、2008R2などで動作するスクリプトを作成できます。バッチスクリプトは次のようになります。

 setlocal 
 set runlevel = 
 
 REMレジストリからOSバージョンを取得
/f "tokens = 2 *" %% i in( ' reg.exeクエリ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"/v "CurrentVersion" ')do set os_ver = %% j 
 
 REM実行レベルを設定(Vista以降の場合-バージョン6)
 if/i "%os_ver:〜、1%" GEQ "6" set runlevel =/rl HIGHEST 
 
 REM Execute SchTasks.exe 
 schtasks.exe/create/tn "タスク名"/sc ONSTART/TR "C:\ Scripts\somescript.cmd"/ru SYSTEM%runlevel%
3
abstrask