У меня есть приложение-установщик 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 для идентификации «целевого пользователя» или просто «любого активного пользователя»?
- Как Intune решает, с каким пользователем действовать, и как я могу использовать тот же подход в своем exe-файле установщика C#?
Что я могу написать в своем exe-файл, который запускается с системными разрешениями с использованием Intune для идентификации пользователя, на котором запущено программное обеспечение?
Подробнее здесь: https://stackoverflow.com/questions/798 ... deployment
Мобильная версия