Вопрос или проблема
Я работаю в публичной библиотеке и пытаюсь настроить наши публичные компьютеры таким образом, чтобы они перезагружались, когда остаются заблокированными в течение 10-15 минут. На первый взгляд это просто: я могу добавить задачу в Планировщик заданий, которая выполняет shutdown.exe /r
после того, как система обнаружит, что компьютер не использовался в течение 15 минут. Однако проблема в том, что эти компьютеры также настроены на автоматический вход в стандартную учетную запись пользователя, поэтому, если задача запускается при входе в систему, она будет просто перезагружаться каждые 15 минут бесконечно, пока кто-то не начнет его использовать. Важно, чтобы у учетной записи не было пароля.
Одна из идей, которая мне пришла в голову, заключалась в том, чтобы заставить компьютер загрузиться на экран входа в систему, где учетная запись пользователя предварительно выбрана, и им нужно просто нажать “войти”, чтобы завершить вход, что происходит, когда я выхожу из учетной записи пользователя и она возвращается на этот экран. Однако, если учетная запись пользователя была последней использованной, Windows всегда автоматически завершает вход на этом устройстве при его включении, независимо от изменений в реестре. На самом деле меня это устраивает, потому что есть также учетная запись администратора, которую я не хочу, чтобы они даже видели на устройстве и пытались войти в нее.
Я также пробовал написать скрипт PowerShell, который определяет последнюю активность пользователя с помощью API GetLastInputInfo, но после того, как это не сработало, я посмотрел в интернете и обнаружил, что, похоже, эта функция вообще не работает если используется автоматический вход, что было раздражающим, но ладно.
В настоящее время лучшее решение, которое я нашел, — это требовать нажатие Ctrl+Alt+Del при запуске, и когда это будет нажато, учетная запись пользователя завершит автоматический вход. Я беспокоюсь, что людям (а следовательно, и моим начальникам в библиотеке) не понравится это, потому что это новое, и многим нашим посетителям будет трудно понять, что делать, даже если это написано на экране. Не пытаюсь никого осуждать, просто говорю реалистично.
Есть ли какое-то другое очевидное решение, которое я упустил, или есть ли другие стратегии, которые я мог бы использовать для достижения этой цели?
Ответ или решение
Вопрос о настройке перезагрузки общественных компьютеров в библиотеке после 10-15 минут неактивности представляет собой довольно сложную задачу, особенно в условиях автоматического входа в систему, который используется на этих машинах. Давайте рассмотрим возможные решения и стратегии для успешной реализации этой задачи.
Факты
Ваша основная задача заключается в том, чтобы перезагружать компьютеры после определенного времени бездействия, однако использование автоматического входа создает проблему, так как в этом случае Windows продолжает запускаться на последнем использовавшемся пользователе. Вы уже попробовали несколько альтернативных методов, включая использование PowerShell и методов API, которые, к сожалению, оказались неэффективными.
Объяснение
Перезагрузка через shutdown.exe /r
является логичным шагом, но, как вы упомянули, при автоматическом входе задача будет запускаться сразу после входа. Это создаст цикл перезагрузок, который будет мешать пользователям. Вариант с требованием нажатия комбинации Ctrl+Alt+Del на старте может показаться неудобным для пользователей, что может вызвать недовольство ваших коллег и посетителей библиотеки.
Решения
-
Использование политики групп: Рассмотрите возможность использования групповых политик для настройки функции экранной заставки с возможностью ограничения времени бездействия. Настройка экранной заставки на автоматическую блокировку после 10-15 минут может помочь в решении проблемы, так как пользователи должны будут повторно входить в учетную запись, а не просто ждать перезагрузки системы.
-
Создание пользовательского сценария: Попробуйте адаптировать ваш PowerShell сценарий так, чтобы он запускался не на вход в систему, а на событие бездействия пользователя. Например, вы можете использовать Windows Management Instrumentation (WMI) для отслеживания активности пользователя и затем инициировать перезагрузку системы.
-
Использование дополнительных программ: Существуют сторонние приложения, такие как "AutoHotKey", которые могут отслеживать активность на компьютере и запускать сценарий перезагрузки. Вы можете запрограммировать AutoHotKey на выполнение команды перезагрузки после определенного времени неактивности.
-
Система контроля удаленного доступа: Если ваши компьютерные станции подключены к центральной сети, возможно, стоит рассмотреть внедрение системы контроля удаленного доступа, которая могла бы обрабатывать автоматическую перезагрузку компьютеров без участия пользователя.
-
Обратная связь от пользователей: Проведите небольшое анкетирование среди сотрудников и пользователей вашей библиотеки, чтобы понять, насколько им будет удобно или неудобно использовать новую функциональность (например, необходимость нажатия Ctrl+Alt+Del). Возможно, какой-то функционал можно настроить с учётом их мнения.
Заключение
Ваша задача требует тщательного и комплексного подхода. Настройка автоматической перезагрузки при неактивности без использования паролей может быть достигнута различными способами. Исследуйте предложенные решения, и выберите то, что наилучшим образом соответствует требованиям вашей библиотеки и удобству пользователей.