Dlaczego potrzebuję tego :
Mam Pen Drive pełen skrawków partii i innych narzędzi diagnostycznych. Mam 75 samodzielnych (nie podłączonych do sieci) komputerów, głównie z Win-XP-Pro SP-2, w 2 laboratoriach. Często muszę logować się na każdym komputerze za pomocą konta administratora, aby coś skonfigurować lub zdiagnozować.
Więc kiedy uruchamiam komputer, za każdym razem muszę ręcznie wybrać nazwę użytkownika z ekranu logowania, a także wpisać hasło.
Teraz chcę się zalogować do Admin Acc. Automatycznie (programowo), jeśli mój pendrive jest podłączony do komputera.
Co wiem:
Wiem, że możliwe jest uruchamianie skryptów (plików wsadowych) przed zalogowaniem się użytkownika w XP / Win7. Napisałem plik wsadowy i zapisałem na lokalnym komputerze. Skonfigurowałem go w zasadach grupy, aby uruchamiał go podczas uruchamiania systemu (lokalizacja GPO: Konfiguracja komputera \ Ustawienia systemu Windows \ Skrypty (uruchamianie / zamykanie) \ Sartup ). Ten plik wsadowy z powodzeniem wykrywa „czy pendrive jest podłączony czy nie.
Mam inny plik wsadowy (obecnie pusty) zapisany na Pen Drive.
Pierwszy plik wsadowy przeszukuje wszystkie dyski od C do Z w poszukiwaniu drugiego pliku wsadowego (login.bat) za pomocą pętli, jeśli plik jest obecny, zakłada, że pendrive jest obecny i dalej wywołuje drugi plik wsadowy (login.bat), aby kontynuować.
Czego nie wiem:
Teraz nie wiem, jaki powinien być kod pliku login.bat lub nie wiem, jak zalogować się pragmatycznie.
Jakie są inne alternatywy na myśli:
Nie jest konieczne używanie tylko pliku wsadowego. Mogę również rozważyć „jeśli masz jakąkolwiek inną opcję automatycznego logowania, taką jak użycie VB Script
lub inny plik wykonywalny trzeciej części”,
Edytować:
Zgodnie z tym pytaniem Ustaw użytkownika do automatycznego logowania w systemie Windows za pomocą skryptu wsadowego. Mogę utworzyć skrypt, aby zmodyfikować wpisy rejestru i umożliwić automatyczne logowanie. Mimo że to działa, musisz ponownie uruchomić komputer, aby zastosować zmiany. Tego chcę uniknąć. Uruchomienie skryptu i ponowne uruchomienie zajmuje więcej czasu niż zalogowanie się osobiście.
Chciałbym mieć możliwość automatycznego logowania na żądanie. Oznacza to, że po podłączeniu Pen Drive skrypt powinien móc mnie zalogować na koncie administratora bez ponownego uruchamiania komputera.
Czytam w Internecie, można to osiągnąć, tworząc plik dll GINA, ale nie mam doświadczenia w tej dziedzinie. Wszelkie pomysły, w jaki sposób można to zrealizować?
źródło
Odpowiedzi:
Możliwe jest programowe logowanie do systemu Windows, ale nie za pomocą prostego pliku wsadowego. Zamiast tego musisz zbudować bibliotekę DLL przy użyciu C ++ (a może C # - ale nie jest to zalecane ). W systemie Windows XP (i wcześniej) ta funkcja nazywa się GINA .
(Począwszy od Visty, musisz zbudować dostawcę poświadczeń.)
Odniesienia: Zaloguj się do systemu Windows XP programowo
źródło
Przypadkowo znalazłem rozwiązanie samodzielnie. Jak wspomniano w pytaniu, mam 2 skrypty: 1. rezyduje na komputerze lokalnym i 2. rezyduje na Pen Drive. 1st (.bat) jest wstępnie skonfigurowany do uruchamiania podczas uruchamiania systemu ( zobacz, jak przypisać skrypty uruchamiania komputera? ) I wywołuje 2nd (.vbs), jeśli podłączony jest pendrive.
Jak to działa:
Działanie 1. pliku jest już opisane w pytaniu; a działanie drugiego skryptu jest bardzo proste, ale spełnia moje potrzeby. Ten skrypt po prostu wysyła naciśnięcia klawiszy na ekranie logowania w tej samej kolejności, w jakiej wpisuję się na klawiaturze podczas logowania. Tutaj chciałbym udostępnić cały kod obu skryptów. Mam nadzieję, że pomoże to wielu takim jak ja, którzy nie chcą ingerować w wewnętrzne pliki systemu operacyjnego, takie jak GINA.
Kod to:
1st Script (skrypt logowania)
Imię:
"Find PD.bat"
Lokalizacja:
"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"
Kod
Drugi skrypt:
Imię:
"FillCred.vbs"
Lokalizacja:
"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"
Kod:
Zapamiętaj:
1) Jest to testowane tylko w systemie Windows XP.
2) Działa to tylko wtedy, gdy system Windows wyświetla domyślny ekran logowania (inaczej „Ekran powitalny”)
3) Trzeba zmodyfikować 2nd skryptu dla swoich kluczowych sekwencji.
4) To nie zadziała, jeśli Twój system wymaga naciśnięcia Ctrl + Alt + Delete przed zalogowaniem.
5) Jest to bardzo podstawowe rozwiązanie, ale możesz je rozwinąć, edytując 2. skrypt. będzie to działać tak długo, jak system zezwala na naciśnięcia klawiszy na ekranie logowania.
Dzięki.
źródło