среда, 4 апреля 2012 г.

Как запустить процесс от имени системы

 Запуск процессов от имени NT AUTHORITY\SYSTEM (RunAsSYSTEM)


Иногда нужно запустить процесс от имени учетки SYSTEM (NT AUTHORITY\SYSTEM) - например чтобы покопаться в защищенных ветках реестра, зайти в что нить типа x:\System Volume Information\ на ntfs ну или еще для каких темных дел

 
метод 1
используем планировщик задач
 (запуск будет произведен в течении минуты) 
в win7 x64 не работает интерактивно(т.е. gui программы не отображается на экране) Подробнее... [?] 
RunAsSystem.bat
Код:
@echo off
set m=%time:~3,2%
set h=%time:~0,2%
if %m:~0,1% equ 0 set m=%m:~1,1%
if %h:~0,1% equ 0 set h=%h:~1,1%
set /a m+=1
if %m% equ 60 set m=0 && set /a h+=1
if %h% equ 24 set h=0    
@echo on
@echo.
at %h%:%m% /interactive %1 %2 %3 %4 %5 %6 %7 %8
@at

пример запуска regedit: 
RunAsSystem.bat regedit.exe 
 

 
метод 2
используем psexec из Sysinternals PsTools
 
пример запуска regedit: 
psexec.exe -s -i -d regedit.exe 

 
 
Хинт - если запустить файловый менеджер, например тотал, то все, что будет запускать из него, тоже будет запускаться от имени SYSTEM, в т.ч. и *.reg - файлы

Комментариев нет:

Отправить комментарий