Обновить/перезапустить графический экран входа в систему Vista с помощью JScript (WSH).
-
05-07-2019 - |
Вопрос
Фон:У меня есть JScript, который запускается при запуске компьютера (из планировщика задач).Скрипт творит магию и определяет, можно ли вообще пользователю войти в систему.Он начинается с отключения всех учетных записей пользователей, а затем, если пользователю нужно разрешить доступ, он включает учетную запись пользователя, запуская команду «net user» с помощью wshShell.Exec().Все это работает хорошо, и учетные записи правильно включены/отключены.
Проблема:Однако графический экран входа в Vista не знает, были ли учетные записи пользователей включены/отключены, и не обновляется для отображения/удаления изображений учетных записей пользователей.На самом деле он обновляется сам, если я достаточно долго жду на экране входа в систему, чтобы запустить заставку.При перемещении мыши экран входа в систему Visa возвращается обновленным.Однако я хочу иметь возможность перезапустить/обновить экран входа в систему из моего сценария.Есть идеи?
Что я уже пробовал:
- Я попытался запустить winlogon.exe из сценарий, он не имел никакого эффекта
- Я попытался запустить logon.scr из скрипта чтобы запустить заставку вручную, это не срабатывало.
Если вам нужен скрипт, посмотрите здесь: http://code.google.com/p/truecryptautomount/
Решение
Все, что вы делаете в контексте службы, не повлияет на нее, поскольку экран входа в систему представляет собой совершенно другой сеанс/рабочий стол.Это функция безопасности, предназначенная для того, чтобы пользовательские программы не могли эмулировать экран входа в систему для захвата пароля.CTRL+ALT+DEL всегда приведет вас к этому альтернативному рабочему столу/сеансу.
Заставка, которую вы запускаете, отличается от той, которую вы видите на экране входа в систему.Имея это в виду, вы сможете настроить заставку для профиля системной учетной записи на очень короткое время ожидания.Вероятно, вы можете узнать все, что вам нужно знать, из этой статьи:
Надеюсь это поможет,
-Ойсин