У меня есть приложение-установщик C#, которому необходимо определить, какой сеанс пользователя следует использовать. Приложению не удается определить правильного пользователя при развертывании через Microsoft Intune.
Например, при развертывании через Intune для пользователя2 неправильно идентифицируется пользователь1 (сеанс 1) вместо пользователя2 (сеанс 2).
Следует выбрать сеанс 2 (=пользователь2), поскольку именно для него устанавливается Intune.
Поскольку несколько пользователей могут войти в систему одновременно (как активные, так и отключенные сеансы)
Что я пробовал:
- Использование ProcessIdToSession() — возвращает 0, поскольку он развернут через Intune и работает как СИСТЕМА.
- Нахождение процессов exploere.exe — существует несколько процессов exploere.exe для разных пользователей.
- Использование WTSGetActiveConsoleSessionId() – возвращает пользователя консоли, не обязательно целевой объект Intune.
- Проверка первого сеанса WTSActive – выбирает неправильного пользователя при наличии нескольких активных сеансов.
- Как определить, для какого пользователя развертывается Intune при запуске от имени СИСТЕМА? (даже если в систему вошли несколько пользователей или несколько активных или отключенных пользовательских сеансов)
- Каков правильный подход Windows API для идентификации «целевого пользователя» и просто «любого активного пользователя»?
Подробнее здесь: https://stackoverflow.com/questions/798 ... deployment
Мобильная версия