Можно ли определить, открыто ли приложение с помощью команды runas?
И как я могу определить, какой пользователь используется?
runas /netonly /user:DOM\usr "C:\App.exe"
Можно ли определить, открыто ли приложение с помощью команды runas?
И как я могу определить, какой пользователь используется?
runas /netonly /user:DOM\usr "C:\App.exe"
Вы можете проверить пользователя, который запускает приложение, используя
System.Security.Principal.WindowsIdentity.GetCurrent()
Обратите внимание, что при использовании /netonly
невозможно получить предоставленные учетные данные в локальном процессе. LSA позаботится об этом, и, насколько я знаю, вы просто не можете сделать это из своего локального процесса.
Есть несколько хороших объяснений, почему по этой ссылке , но причина в основном сводится к следующему: хотя предоставленные вами учетные данные хранятся, они даже не проверяются, пока вы не выполните какую-либо удаленную аутентификацию (с использованием SSPI), и они проверяются только на реальном удаленном компьютере.
Вы даже можете сделать:
runas /netonly /user:FAKE\fake something.exe
И учетные данные даже не будут проверяться... так что вы в основном не получаете токен авторизации, пока не выполните удаленную аутентификацию.
Единственное решение, которое я вижу, — это попытка запустить удаленный процесс, который вернет учетные данные пользователя.
/netonly
, посмотри мое обновление... Я не думаю, что есть способ сделать это
- person Jcl; 15.07.2016