Почему PSEXEC -i -s работает в Windows 7, поскольку службы больше не могут взаимодействовать с рабочим столом?

Почему PSEXEC -i -s работает в Windows 7, поскольку службы больше не могут взаимодействовать с рабочим столом?

Согласно этомуСтатья MSDN:

Важно Службы не могут напрямую взаимодействовать с пользователем, начиная с Windows Vista. Поэтому методы, упомянутые в разделе «Использование интерактивной службы», не следует использовать в новом коде.

Почему psexec \\REMOTEPCNAME -i -s cmdвсе еще работает правильно и запускает командную строку в NT AUTHORITY\SYSTEMконтексте? Имеет ли SysInternals чит-коды Windows?

решение1

Служба psexec имеет достаточные привилегии (SeTcbPrivilege) для получения токенов для других сеансов сWTSQueryUserToken(который он затем даетCreateProcessAsUserили что-то подобное).

Смотрите также:http://www.remkoweijnen.nl/blog/2007/10/20/как-запустить-процесс-в-терминальной-сессии/

Связанный контент