Как запустить процесс или программу под учетной записью Local System?
Джон Севилл
31.01.2006
Версия для печати
Выскажите свое мнение
Вопрос:
Как запустить процесс или программу под учетной записью Local System?
Ответ:
Ранее, отвечая на вопросы "Как использовать планировщик для запуска команд?" и "Я не могу остановить процесс в Task Manager, даже обладая привилегиями администратора. Что делать?", я объяснял, как задавать команды в планировщике с ключом /interactive. Поскольку служба планировщика работает в контексте Local System, программы, запущенные в планировщике, также работают в контексте Local System. Можно использовать утилиту Psexec компании Winternals с ключом -s для запуска программы от имени системной учетной записи. В следующем примере показано, как запустить сессию cmd.exe в контексте Local System:
whoami
SAVILLTECH\john
psexec -s cmd.exe
PsExec v1.60 - Execute processes remotely Copyright (C)
2001-2005 Mark Russinovich Sysinternals -
www.sysinternals.com
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>whoami
NT AUTHORITY\SYSTEM
C:\WINDOWS\system32>exit
cmd.exe exited on WKSSAVD800 with error code 0.
Когда вы используете ключ -s, Psexec временно устанавливает на компьютере службу psexesvc.exe, которая удаляется после того, как приложение, запущенное с ее помощью, будет закрыто. Таким образом, чтобы работать в системном контексте, необходимы разрешения на установку служб.