Ссылка:
https://ru.stackoverflow.com/questions/686081/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8-windows-server-%D0%B8%D0%B7-cmd
Решение:
query user - получить список всех залогиненных пользователей консольной командой в списке видны их ID сеанса и статус активности msg 1 Bla-bla-bla - отправить сообщений по номеру сеанса (это первый параметр, предположим, что он равен 1) msg * Bl-Bla-bla - отправить сообщение сразу всем сеансам активных пользователей, нужно вместо ID указать символ * logoff 1 - завершить сеанс пользователя (по его ID)
бат-файл:
@msg * LOGOUT TIME! @ping 127.0.0.1 -n 10 >nul @for /f "skip=1 tokens=3," %%i in ('@query user') DO @if NOT "%%i"=="" logoff %%i