Automatycznie zaloguj się i zablokuj


36

Chcę skonfigurować system Windows 7 do automatycznego logowania po włączeniu komputera. Nie dlatego, że jestem leniwy i nie lubię wpisywać haseł. To dlatego, że chcę, aby programy skonfigurowane do uruchamiania podczas uruchamiania były uruchamiane automatycznie.

Ale nie chcę, aby wszyscy widzieli mój pulpit, więc chcę, aby mój komputer był zablokowany. Kiedy jestem gotowy do pracy, po prostu wpisuję hasło i nie muszę czekać, aż uruchomią się wszystkie programy startowe.


1
Prawdopodobnie nie ma na to sposobu. Czy zastanawiałeś się nad hibernacją zamiast jej wyłączania?
Harry Johnston,

Tak. Nie lubię hibernacji, ponieważ niektóre programy tracą połączenie sieciowe i muszę je zrestartować.
utapyngo,

Które programy szczegółowo? Czy próbowałeś zmusić autorów do rozwiązania tego problemu?
Robert

@eye: Nie rozumiem. Więc ponieważ musisz zrestartować te programy, zdecydujesz, że musisz zrestartować całą maszynę ? Czy coś brakuje?
surfasb

2
@ surfasb: jeszcze jeden powód jest taki, że szybciej jest wyłączyć i włączyć mój komputer, który zrzuca 8 gigabajtów pamięci RAM, a następnie odczytuje ją z powrotem.
utapyngo,

Odpowiedzi:


14

Spójrz na to: Auto Logon and Lock

Automatyczne logowanie do systemu Windows i natychmiastowa blokada stacji roboczej (chroniony również w trybie awaryjnym)

Automatyczne logowanie i blokowanie to małe narzędzie, które umożliwia komputerowi z systemem Windows automatyczne logowanie do konta użytkownika podczas uruchamiania, a następnie blokowanie pulpitu, aby hasło było nadal wymagane. Oto niektóre z powodów, dla których warto to zrobić: Szybszy czas uruchamiania. Dodatkowe elementy startowe po zalogowaniu są również uruchamiane po uruchomieniu systemu Windows. Co oznacza, że ​​po naciśnięciu przycisku zasilania na komputerze i powrocie po kilku minutach zostanie całkowicie uruchomiony. Nie musisz czekać na załadowanie dodatkowego oprogramowania po zalogowaniu. Automatycznie wznawiaj pobieranie itp., Gdy komputer uruchomi się ponownie z powodu awarii zasilania lub awarii. W systemie XP można to zrobić, instalując aplikację jako usługę systemową. W systemach Vista i 7 izolacja sesji 0 sprawia, że ​​korzystanie z usługi systemowej jest uciążliwe, nie wspominając o jej niepewności. Wystarczy umieścić swoje aplikacje w zwykłym folderze startowym systemu Windows, a zostaną one uruchomione po automatycznym zalogowaniu. To hasło chroni również tryb awaryjny. Istniejące metody automatycznego logowania pozostawiają Tryb awaryjny niezabezpieczony. Blokuje pulpit przed uruchomieniem Eksploratora. Inne metody automatycznie blokują się przy użyciu wpisu autorun / start, który pozostawia komputer zalogowany i odblokowany do momentu wykonania wpisów autorun (co może nawet potrwać kilka minut).

Sam tego nie próbowałem, ale wygląda na to, że robi to, co chcesz ...


1
Wygląda to na bardziej bezpieczne: zamiast po prostu uruchomić się, sam zastępuje powłokę systemową (eksplorator).
utapyngo,

3
@utapyngo, jeśli to działa, zastępując eksploratora, zdecydowanie nie zgadzam się na ocenę bezpieczeństwa. Explorer jest popularnym celem szkodliwego oprogramowania próbującego włamać się do systemu; i uważam za bardzo mało prawdopodobne, aby strona trzecia włożyła tyle samo wysiłku w testowanie zamiennika, jak MS w testowanie oryginału.
Dan Neely

4
@ Dan: w rzeczywistości nie zastępuje explorer.exe, ale korzysta z funkcji systemu Windows, która umożliwia zmianę powłoki użytkownika poprzez zmianę wartości rejestru.
utapyngo,

7

Możesz zaimplementować to jako zadanie systemu Windows zaplanowane do wykonania podczas logowania:

Uruchom program rundll32.exe z argumentami user32.dll, LockWorkStation

Działa na moich XP i 7, jednak nie będzie działać na Windows 8 / 8.1


2
Wiem o tej sztuczce. Jeśli jednak uruchomię ten plik wsadowy podczas uruchamiania, pozostawi on lukę w zabezpieczeniach na moim komputerze: dopóki nie uruchomi się, ktoś zły może zrobić coś złego. Jak powiedziałem, nie chcę, aby ktokolwiek widział mój pulpit.
utapyngo,

3
@eye - niestety opuszczasz dziurę w zabezpieczeniach poprzez automatyczne logowanie. To rozwiązanie przynajmniej zadziała. Polecam nie logować się automatycznie, jeśli chcesz bezpieczeństwa.
Rory Alsop,

1
W zależności od systemu działałby bardzo szybko i blokowałby się ... Możesz też wyłączyć monitor, wtedy jedynym sygnałem na twoim komputerze byłyby jakieś lampki na przednim panelu / klawiaturze?
HaydnWVN

1
To działa dla mnie bardzo dobrze. Prawdopodobnie nie w 100% bezpieczny, ale wystarczająco dobry do mojego domowego użytku i nieinwazyjny.
srmark

1
działa na systemie Windows 10, zapisz go w a .cmdi włóż do powłoki: startup
malix

6

Udało mi się zablokować komputer natychmiast po uruchomieniu podczas ładowania systemu Windows / elementów startowych w tle. Działa to z edycjami systemu Windows z edytorem zasad grupy.

Krok 1: Otwórz notatnik, a następnie wklej ten kod:

WScript.CreateObject („WScript.Shell”). Uruchom („rundll32 user32.dll, LockWorkStation”)

Krok 2: Kliknij File>Save Asiw Save as typerozwijanym menu wybierzAll Files

Krok 3: W File Namepolu wprowadź LockWorkStation.vbsi zapisz plikC:\Users\YourUserName\Documents

Krok 4: naciśnij WindowsKey+R, wpisz regediti naciśnijENTER

Krok 5: Przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Krok 6: Kliknij prawym przyciskiem myszy puste miejsce, kliknij New> DWORD (32-bit) Valuei naciśnijENTER

Krok 7: Kliknij dwukrotnie nowo utworzony REG_DWORDplik. W Value nametypie RunLogonScriptSynci w Value datatypie, 1a następnie naciśnijENTER

Krok 8: naciśnij WindowsKey+R, wpisz gpedit.msci naciśnijENTER

Krok 9: Poniżej Computer Configurationprzejdź do opcji Administrative Templates > System > LogonPodwójne kliknięcieRun these programs at user logon

Krok 10: Kliknij Enabled, a następnie Items to run at logonkliknijShow...

Krok 11: Wpisz C:\Users\YourUserName\Documents\LockWorkStation.vbsi kliknij OKkilkakrotnie, aż wszystkie okna zostaną zamknięte

Krok 12: Naciśnij WindowsKey+Ri wpisz, control.exe userpasswords2a następnie naciśnijENTER

Krok 13: Odznacz, Users must enter a user name and password to use this computer.a następnie kliknij OK(wpisz hasło, jeśli pojawi się monit)

Krok: Uruchom ponownie komputer.

Teraz za każdym razem, gdy uruchamiasz komputer, skrypt .vbs uruchomi się najpierw, zanim cokolwiek innego. Zapewni to zablokowanie komputera przed pojawieniem się pulpitu.

Uwaga: możesz zmienić miejsce, C:\Users\YourUserName\Documents\w którym chcesz przechowywać skrypt.


Dzięki, tutaj jest RZECZYWISTE rozwiązanie. Nie wiedziałem o tym, RunLogonScriptSyncktóry jest kluczem do rozwiązania tego problemu.
Evengard,


4

Robiłem to na komputerze domowym (już nie). Obejmuje tylko dwa proste kroki.

  1. Ustaw Windows tak, aby automatycznie logował się na twoje konto podczas uruchamiania (spowoduje to załadowanie wszystkich programów startowych i przeniesienie na pulpit).
  2. Dołącz skrót do osobistego folderu Autostart (lub Runklucz rejestru ), aby zablokować komputer, za pomocą następującego polecenia lub nircmdnarzędzia.

    rundll32.exe user32.dll,LockWorkStation
    

Ponieważ większość programów startowych jest ładowanych równolegle, komputer zostanie zablokowany niemal natychmiast po automatycznym zalogowaniu. Jest minimalna obawa, że ​​ktoś wtargnie i zatrzyma zamek.

Jeśli jednak chcesz upewnić się, że komputer jest zablokowany tak szybko, jak to możliwe, postępuj zgodnie z kolejnością w tym artykule (unikaj, RunOnceponieważ jest on usuwany po uruchomieniu, chyba że możesz umieścić kontr-skrypt w innym miejscu, aby go dodać).
Znalazłem ten artykuł KB, w którym wymieniono kolejność właściwą dla starszych wersji systemu Windows, ale nie mogę znaleźć oficjalnego odpowiednika dla systemu Windows 7.


1

Użyłem Sysinternals narzędzie autologon.exe, aby skonfigurować automatyczne rejestrowanie dalej. Następnie utworzyłem skrót w:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

z poleceniem

rundll32.exe user32.dll,LockWorkStation

0

Jest jedno bezpieczne rozwiązanie: nie zamykaj systemu!

Windows 7 oferuje kilka metod hibernacji systemu: Suspend-to-RAM (S3), Suspend-to-Disk (S4) i Hybrid hibernacja, która łączy oba te elementy. Powinna być co najmniej jedna metoda, która Ci odpowiada.

Po przebudzeniu z tych trybów wszystkie aplikacje są już uruchomione i gotowe do pracy.

Jeśli włączysz opcję „Wymagaj hasła po przebudzeniu komputera”, masz dokładnie to, czego chcesz, a ponadto jest w 100% bezpieczny (lub tak bezpieczny, jak system Windows może to zrobić).

Windows 7 jest zwykle wystarczająco stabilny, aby można go było używać w ten sposób. Najczęściej uruchamiam się tylko wtedy, gdy Windows Update zainstaluje nowe łatki i zmusza mnie do ponownego uruchomienia systemu.


1
A co z niezamierzonym zamknięciem? (np. przerwa w dostawie prądu lub jakiś zły aktor celowo wyłącza i ponownie włącza system?)
pioto

W przypadku hibernacji (zawieszenia na dysk) komputer zostanie wyłączony.
Robert

0

jednym (niezbyt najlepszym) sposobem wdrożenia może być:

  1. autologin jako pojedynczy użytkownik bez hasła
  2. Ustaw hasło użytkownika - net user <user> <password>
  3. zablokuj ekran - rundll32.exe user32.dll,LockWorkStation

te dwa wiersze można umieścić w autoexec.batpliku lub startupfolderze w pliku wsadowym, aby były uruchamiane przy każdym logowaniu


aktywować autoexec.batw rejestrze

Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ParseAutoexecWartość powinna wynosić 1


1
Istnieją sposoby automatycznego logowania użytkownika za pomocą hasła. Poza tym, jeśli ustawisz hasło dla użytkownika bez hasła, musisz je ręcznie usunąć, aby logowanie bez hasła zadziałało następnym razem. Ponadto hasło jest przechowywane w skrypcie jako zwykły tekst.
ADTC

0

Jest to stare, ale ponieważ istnieją pewne obawy, których należy użyć rundll32.exe

Jakie są wskazówki, kiedy używać rundll32? Łatwe: nie używaj go

Czasami klient pyta: „Co to jest Rundll32.exe i kiedy powinienem go używać zamiast pisać samodzielny plik exe?”

Wskazówki są bardzo proste: nie używaj rundll32. Po prostu napisz swój samodzielny plik exe.

Oto inne podejście, które pozwoli zaoszczędzić na samodzielnym kompilowaniu exe. Po prostu zapisz to jako Lock-Workstation.ps1i uruchom za pomocą PowerShell.

Function Lock-WorkStation { 
#Requires -Version 2.0 
$signature = @" 
[DllImport("user32.dll", SetLastError = true)] 
public static extern bool LockWorkStation(); 
"@ 

$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru 
$LockWorkStation::LockWorkStation() | Out-Null 
}

Lock-WorkStation

Zaczerpnięte z Script-Center

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.