Как я могу автоматически выходить из системы с компьютера Windows?

Я хотел бы убедиться, что люди вышли из системы, как только они будут работать на одной конкретной многопользовательской машине. В настоящее время следующий пользователь просто «переключит пользователя» и продолжит работать, но одновременное использование большого количества пользователей одновременно с открытыми программами, похоже, использует ресурсы.

Можно ли автоматически выходить из системы с компьютера, если они не были активны в течение 24 часов?


В качестве альтернативы можно ли выпустить всех, кроме текущего пользователя, в полночь?

Компьютер находится в доменной сети Windows – хотя я хочу, чтобы автоматический выход из системы работал на одной машине (и я не являюсь администратором сети)

,

Чтобы отключить отключенных пользователей, оставив текущего пользователя, скопируйте следующий код сценария в файл .cmd, например «LogOffUsers.cmd», а затем запустите его как услугу в полночь:

@echo off for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b 

Скрипт работает с помощью команды запроса, чтобы найти пользователей, которые отключены, путем поиска фразы «диск», а затем их извлечения.

Если вы хотите, чтобы сценарий вместо этого выполнялся непрерывно как служба, выйдите из системы, когда они были отключены / неактивны в течение определенного периода времени, вместо этого вы должны использовать:

 @echo off :Top for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else %%e GTR 32 (logoff %%b) choice /T 120 /C 1 /D 1 /N goto top 

Этот скрипт использует ту же самую команду запроса, но дополнительно проверяет часть результатов «ИДЕННОЕ ВРЕМЯ», регистрируя пользователя, если время простоя больше 32 («GTR 32»). Эта фраза происходит дважды, потому что токен «IDLE TIME» может иметь две несколько разные позиции. Затем линия, начинающаяся с «выбора», ждет за 2 минуты до повторной операции, зациклившись до начала. Вы можете увеличить или уменьшить значение «32» в соответствии с вашими потребностями.

Найдено здесь .

 for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else (if %%e GTR 35 (logoff %%b)) 

Обратите внимание, что вышеизложенное будет работать только на холостые минуты, вам нужно внести небольшую поправку к нему, если вы хотите использовать часы простоя до выхода из отключенного сеанса.

 for /f "tokens=1-8 delims=,:/ " %%a in ('query user ^| find /i "disc"') do if %%d GTR 23 (if %%h GTR 2012 (logoff %%b)) 

Измените 23, чтобы настроить часы, выше будет работать в течение 24 часов или более бездействия. Значение %% h 2012 гарантирует, что значение %% d равно часу, а не минутному значению.

Я бы поискал способ отключить функцию «Switch User». Это может помочь.

  • Системная критическая ошибка «Сила ядра» и сбой
  • Windows 7 новых приложений без фокуса
  • Что является недостатком масштабирования DPI в стиле Windows XP в Windows 7
  • Как удалить записи «Съемный диск»?
  • Как автоматизировать установку приложения
  • В Windows 7, как узнать, когда компьютер планируется завершить?
  • Как я могу заставить Windows 7 помнить размер и положение окон программы?
  • Записывает ли Windows 7 все копии файлов?
  • Жесткий диск недоступен. Возможная коррупция в MFT. Как я могу продолжить?
  • Перемещение ПК с одного жесткого диска на другой?
  • Поддержка Jumplist для шпатлевки для разных сеансов на панели задач Windows 7
  • Давайте будем гением компьютера.