Зачем мне это нужно :
У меня есть Pen Drive, полный пакетных записок и других диагностических инструментов. У меня 75 автономных (не сетевых) компьютеров, в основном с Win-XP-Pro SP-2, в 2 лабораториях. Мне часто приходится входить в систему на каждом компьютере с учетной записью администратора, чтобы что-то настраивать или диагностировать.
Поэтому, когда я запускаю ПК, мне каждый раз приходится вручную выбирать имя пользователя на экране входа в систему, а также вводить его пароль.
Теперь я хочу войти в Admin Acc. Автоматически (программно), если мой флеш-накопитель подключен к ПК.
Что я знаю:
Я знаю, что можно запускать сценарии (пакетные файлы) до входа пользователя в XP / Win7. Я написал командный файл и сохранил на локальном ПК. Я настроил его в групповой политике для запуска при запуске системы (Местоположение объекта групповой политики: Конфигурация компьютера \ Конфигурация Windows \ Сценарии (запуск / завершение работы) \ Sartup ). Этот пакетный файл успешно определяет, подключен ли перо или нет.
У меня есть другой пакетный файл (в настоящее время пустой), хранящийся на Pen Drive.
1-й пакетный файл ищет все диски от C до Z для 2-го (login.bat) пакетного файла, используя цикл, если файл присутствует, он предполагает, что присутствует перьевой диск, и далее вызывает 2-й (login.bat) пакетный файл для продолжения.
Что я не знаю:
Теперь я не знаю, каким должен быть код файла login.bat или я не знаю, как прагматично войти в систему.
Какие есть другие альтернативы в виду:
Не обязательно использовать только командный файл. Я также могу рассмотреть вопрос «есть ли у вас какая-либо другая опция для автоматического входа в систему, например, с использованием VB Script
или любой другой исполняемый файл третьей части»
Редактировать:
В соответствии с этим вопросом Установить пользователя для автоматического входа в Windows с помощью пакетного сценария, я могу создать сценарий для изменения записей реестра и разрешить автоматический вход в систему. Даже если это работает, вы должны перезагрузить компьютер, чтобы изменения вступили в силу. Которого я хочу избежать. Запуск сценария и перезагрузка занимает больше времени, чем просто вход в систему лично.
Я хотел бы иметь возможность войти в систему автоматически, по требованию. Это означает, что после того, как я подключу свой Pen Drive, сценарий сможет войти в систему под учетной записью администратора без перезагрузки компьютера.
Я читал в Интернете, что это может быть достигнуто путем создания файла GINA DLL, но у меня нет опыта в этой области. Есть идеи, как это можно реализовать?
источник
Ответы:
Можно программно войти в Windows, но не с помощью простого командного файла. Вместо этого вам нужно собрать DLL с использованием C ++ (или, возможно, C # - но это не рекомендуется ). В Windows XP (и ранее) это средство называется GINA .
(Начиная с Vista, вам нужно создать провайдер учетных данных.)
Ссылка: вход в Windows XP программно
источник
Я случайно нашел решение самостоятельно. Как уже упоминалось в вопросе, у меня есть 2 сценария: 1-й находится на локальном компьютере, а 2-й находится на Pen Drive. 1st (.bat) предварительно настроен для запуска при запуске системы ( см. Как назначить сценарии запуска компьютера? ) И вызывает 2nd (.vbs), если подключен флеш-накопитель.
Как это работает:
Работа 1-го файла уже описана в Вопросе; и работа над вторым сценарием очень проста, но удовлетворяет мои потребности. Этот скрипт просто посылает нажатия клавиш на экране входа в той же последовательности, в которой я печатаю на клавиатуре для входа в систему. Здесь я хотел бы поделиться всем кодом обоих скриптов. Надеюсь, что это поможет многим, таким как я, которые не хотят вмешиваться во внутренние файлы операционной системы, такие как GINA.
Код является:
1-й сценарий (сценарий входа в систему)
Имя:
"Find PD.bat"
Расположение:
"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"
Код
2-й сценарий:
Имя:
"FillCred.vbs"
Расположение:
"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"
Код:
Помните:
1) Это проверено только на Windows XP.
2) Это будет работать только в том случае, если в Windows отображается экран входа по умолчанию (он же «Экран приветствия»)
3) Вы должны изменить второй сценарий для своих последовательностей клавиш.
4) Это не будет работать, если ваша система требует нажатия Ctrl + Alt + Delete перед входом в систему.
5) Это очень простое решение, но вы можете улучшить его, отредактировав 2-й сценарий. это будет работать до тех пор, пока ваша система разрешает нажатия клавиш на экране входа в систему.
Спасибо.
источник