Jak określić „Uruchom z najwyższymi uprawnieniami” w SchTasks?

21

Kiedy korzystam z harmonogramu zadań GUI , mogę łatwo zaznaczyć pole „ Uruchom z najwyższymi uprawnieniami ”.

Jednak nie znalazłem też takiej opcji w wierszu poleceń SchTasks .

Czy można to zrobić z wiersza poleceń?

WinWin
źródło

Odpowiedzi:

27

Tak właśnie działa opcja / RL .

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

Skatterbrainz
źródło
czy możemy tego użyć w każdej wersji systemu Windows (od XP do 7 lub 8, w tym Windows Server 2008)?
Rolf,
Nie dla Windows XP, według Microsoft ( microsoft.com/resources/documentation/windows/xp/all/proddocs/… ), zauważ również, że komentarze „ta opcja nie jest dostępna” (XP i WinServer 2003) na msdn.microsoft .pl / en-us / library / windows / desktop /…
Skatterbrainz
@Rolf zapoznaj się z moją odpowiedzią na mały skrypt, który będzie działał zarówno na XP / 2003, jak i na Vista / 2008 (lub wyższej)
abstrask
5

/RL levelUstawia poziom uruchamiania dla zadania. Prawidłowe wartości to LIMITEDi HIGHEST. Domyślnie jest to LIMITED.

Andrey
źródło
3

Aby dodać do odpowiedzi @ Skatterbrainz: Jeśli uruchomisz to samo polecenie / skrypt w systemie XP / 2003, określając / RL, SchTasks.exe nie utworzy zadania.

Możesz stworzyć skrypt, który będzie działał na XP, 2003, Vista, 2008, 7, 2008R2 itp., Pobierając wersję systemu operacyjnego z rejestru. Skrypt wsadowy może wyglądać następująco:

setlocal
ustaw poziom pracy =

REM Pobierz wersję systemu operacyjnego z rejestru
for / f "tokens = 2 *" %% i in ('zapytanie reg reg "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion" / v "CurrentVersion"') ustaw os_ver = %% j

REM Ustaw poziom uruchamiania (dla Vista lub nowszej wersji 6)
if / i "% os_ver: ~, 1%" GEQ "6" ustaw poziom pracy = / rl NAJWYŻSZY

REM Wykonaj SchTasks.exe
schtasks.exe / create / tn "Nazwa zadania" / sc ONSTART / TR "C: \ Scripts \ somescript.cmd" / ru SYSTEM% runlevel%
abstrask
źródło