Проблема 1:
При включении ПК нам доступны на выбор все пользователи системы.
Но если сделать выход, то остаётся доступен для повторного входа только последний пользователь.
Как сделать, чтобы при завершении сеанса была возможность выбора другого пользователя?
Проблема 2:
Думал, что нашел решение первой проблемы. И это команда "tsdiscon" (отключение сеанса удаленного рабочего стола).
Полный путь:
Код: Выделить всё
C:\Windows\System32\tsdiscon.exe
Но оказывается завершение сеанса не происходит, и если выбрать последнего пользователя, а после входа посмотреть "Диспетчер задач", раздел "Пользователи", то увидим, что у нас запущено одновременно два одинаковых пользователя.
В идеале хорошо бы использовать вместо команду "reset session 1", тогда и пользователь завершает сеанс и видно список пользователей на выбор. Но цифра тут обозначает id сеанса и она может меняться, т.е. нужно писать парсер или как то ещё брать чисто id сеанса.
upd. Частичное решение проблемы:
1. Открываем "Планировщик заданий" с правами Администратора.
2. Создаём задачу с именем, например, "aster-logout".
3. Настраиваем:
1) Общие: "Выполнять только для пользователей, вошедших в систему".
2) Триггеры: Создать - При отключении от пользовательского сеанса - Любой пользователь - Подключение с локального компьютера - ОК.
3) Действия: Запуск программы - tsdiscon.
4) Условия - снять все галочки.
5) Параметры - можно оставить как есть.
6) ОК.
Мой результат: при блокировании пользователя всё так же доступен только пользователь, вошедший в систему. Но если сделать выход пользователя, настроенная задача посылает ещё и команду на разрыв соединения "tsdiscon", что позволяет выбрать другого пользователя для входа в систему.