Czasami mamy potrzebę skonfigurowania komputera czy komputera typu POS w trybie autologowania, tak aby użytkownik od razu po uruchomieniu komputera miał dostęp do aplikacji. Obecnie w Windows 10 jest możliwość uruchomienia urządzenia w trybie kiosk, jednak nie zawsze jest to wystarczające – szczególnie w firmach produkcyjnych.
W prosty sposób, autologowanie można skonfigurować za pomocą aplikacji autologon z pakietu sysinternals (link) lub bezpośrednio w rejestrze. A tym artykule skupię się na konfiguracji rejestru przy pomocy PowerShell.
Za konfigurację autologowania odpowiadają odpowiednie wpisy w rejestrze. W kolejnych krokach będziemy ustalać odpowiednie wartości na kluczach.
Wpisy, które będziemy modyfikować znajdują się w rejestrze w ścieżce HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Aby włączyć autologowanie musimy:
- ustawić wartość AutoAdminLogon na 1
- wpisać nazwę użytkownika w DefaultUserName
- wpisać hasło w DefaultPassword, jeśli wpis ten nie istnieje to należy go stworzyć. W tym celu klikamy Nowy, wybieramy „wartość ciągu” (string), wpisujemy DefaultPassword jako nazwę i jako wartość wpisujemy hasło
- wpisujemy nazwę domeny w DefaultDomainName – jeśli oczywiście nasz komputer jest wpięty do domeny i chcemy do logowania wykorzystać użytkownika domenowego. To pole może pozostać również puste w przypadku gdy w polu DefaultUserName wpiszemy użytkownika razem z domeną np: domain\username
Po restarcie auto logowanie powinno działać.
Teraz skupimy się na tym, jak te działania wykonać przy pomocy PS. Poniżej krótki skrypt, który konfiguruje wpisy w rejestrze.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$RegPath = "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" $DefaultUserName = "username" #lub "domain\username" $DefaultPassword = "P@ssw0rd" $DefaultDomainName = "domain" #jeśli DefaultUserName nie zawiera domeny Set-ItemProperty $RegPath "DefaultUserName" -Value $DefaultUserName Set-ItemProperty $RegPath "DefaultPassword" -Value $DefaultPassword Set-ItemProperty $RegPath "DefaultDomainName" -Value $DefaultDomainName Set-ItemProperty $RegPath "AutoAdminLogon" -Value "1" #Teraz należy zrestartować komputer Restart-Computer -Force |
Jeśli skrypt będzie wykonywany na różnych urządzeniach, gdzie na każdym będzie wykorzystywany inny użytkownik to podczas wykonania skryptu można dodać linie, które będą odpytywać użytkownika o dane. Wtedy będzie wyglądało to tak:
1 2 3 4 5 6 7 8 9 10 11 |
$RegPath = "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" $DefaultUserName = Read-Host "Podaj nazwę użytkownika" $DefaultPassword = Read-Host "Podaj hasło do użytkownika" $DefaultDomainName = Read-Host "Podaj nazwę domeny" Set-ItemProperty $RegPath "AutoAdminLogon" -Value "1" #Teraz należy zrestartować komputer Restart-Computer -Force |