Jak zaimplementować skrypt logowania przez GPO?
Jakiś czas temu opisałem sposób na tworzenie skryptu logowania i implementowanie go poprzez właściwości użytkownika w Active Directory. Wspomniałem wtedy, że istnieje druga, nowocześniejsza metoda implementowania (przez GPO) i na tym skupimy się w dzisiejszym artykule.
Porównanie obu metod
GPO działa od czasów Windows 2000, więc jeśli macie w swojej sieci archaiczne Windowsy 95, 98, ME, NT to od razu odsyłam Was do opisanej wcześniej metody.
We wszystkich pozostałych aspektach, wydaje mi się, że przewaga leży po stronie GPO:
- Jak zapewne wiecie, polityki GPO likujemy do cały kontenerów (OU). Stara metoda wymagała przypisywania skryptów ręcznie do każdego użytkownika. Ewentualnie można to było zrobić skryptem, ale było to i tak kłopotliwe w porównaniu do GPO. W GPO zmiana skryptu logowania dla użytkowników całej domenie to czynność szybka, łatwa i przyjemna.
- GPO obsługuje nie tylko skrypty logowania! Możemy skonfigurować skrypty uruchamiające się podczas wylogowania (logoff script), startu (startup script) czy wyłączenia (shutdown script).
- W profilu użytkownika mogliśmy wpisać tylko jeden skrypt logowania. Dzięki GPO możemy użyć wielu skryptów. Kolejność wykonywania ich jest również konfigurowalna.
Gdzie umieścić skrypt logowania?
GPO domyślnie korzysta z udziału „SYSVOL”, który replikuje się między wszystkimi kontrolerami domeny. Dzięki temu zmiana skryptu na jednym z kontrolerów skutkuje zmianą go na wszystkich pozostałych. Dokładna, fizyczna ścieżka to:
%SystemRoot%\SYSVOL\sysvol\\Policies\{GUID}\User\Scripts\Logon
Jak przypisać skrypt logowania użytkownikowi?
Zaczynamy od stworzenia skryptu i umieszczenia go w podanej wyżej ścieżce. W przykładzie użyjemy nazwy „logon.bat”. Na dobry początek skrypt może zawierać proste mapowanie dysków:
net use V: \\nazwa_serwera2\nazwa_udziału2
Następnie, decydujemy gdzie podepniemy nasz skrypt i w tym miejscu należy zaznaczyć, że GPO przypisujemy do całych kontenerów („OU”) i jeśli logon skrypt ma działać na jednym użytkowniku, bądź na wąskiej grupie użytkowników z danego OU, to będziemy używać filtrów. O filtrowaniu GPO był oddzielny artykuł. Zachęcam do przypomnienia.
Do edycji GPO używamy konsoli „Group Policy Management”. Co nieco o GPMC w różnych wersjach Windows możecie również poczytać w jednym z poprzednich artykułów.
Tworzymy nową politykę GPO i podpinamy ją w odpowiednim miejscu. Musi to być kontener zawierający konta użytkowników. W podanym przykładzie jest to cały kontener „users”.
Edytujemy GPO (PPM > Edit) i nawigujemy do:
User Configuration > Windows Settings > Scripts „Logon/Logoff”
We właściwościach (properties) nie ma jeszcze żadnych informacji . Klikamy w przycisk „Add”, aby wskazać nasz skrypt.
Wskazujemy plik ( w naszym przykładzie jest to plik logon.bat)
Pole „Script Parameters” można opcjonalnie wykorzystać do przekazania parametrów, których nie zawiera skrypt. Będą niewidoczne dla użytkownika (pamiętajmy, że do udziałów netlogon i sysvol użytkownik ma dostęp i może podejrzeć zawartość skryptów). Przyda się Wam to na przykład gdy chcecie w parametrze przekazać poufne hasło.
Teraz nasz skrypt jest widoczny. Tutaj możemy go usunąć , edytować itd jeśli zajdzie potrzeba 🙂
Zamykamy okno edytora i konsolę GPMC.
Polityka zreplikuje się pomiędzy kontrolerami domeny i zadziała przy zalogowaniu użytkowników. Szybsze zaaplikowanie jej na komputerze możemy wykonać poleceniem:
gpupdate /force
Jeśli macie jakieś pytania lub komentarze – piszcie.
witam serdecznie niestety w ten sposób nie mogę uruchomić skryptu na Windowsie 7 Profesional który jest podłączony do domeny na windows 2012 server Proszę o pomoc
Napisz więcej szczegółów. Nie masz takich opcji jak w artykule, czy pojawia się jakiś błąd? A może po prostu na stacjach roboczych nic się nie dzieje? Sam przymierzam się do podniesienia domeny do 2012 i mnie ciekawi, co mnie czeka 🙂
Karol. jak zrobisz migracje domeny daj znać jak poszło. Może arta wstawić krok po kroku. Też muszę powoli do tego się zabrać.
Próbuję robić wszystko dokładnie jak w artykule ale nie mam nigdzie czegoś takiego jak Scripts w Edytorze zarządzania zasadami grupy. Jaka może być przyczyna?
Hej, masz możliwość sprawdzenia tego na innym komputerze? Jeśli opcja tam występuje to, może warto przeinstalować GPMC: http://spece.it/windows-serwer-artykuly/konsola-group-policy-management-w-roznych-wersjach-windows
Jaki masz poziom domeny? (2003, 2008?)
a jak zmienic wszystkim uzytkownikom nazwe zamapowanego dysku?. Sktpytem zostało wymuszone mapowanie dysku net use x: \\192.17.55.70\zasob. Uzytownicy widza dysk jako dysk x na 192.17.55.70. A chcialbym aby bylo tylko „x:”
Odkopię temat. Mam problem bo skrypt uruchamiając z ręki działa poprawnie:
net use x: \111.111.111.111zasob login /user:user /savecred /p:yes
Niestety po dodaniu do logon script nie wykonuje się.
Jak podejrzę za pomocą rsop.msc to nie ma żadnych błędów. I *.bat powinien się wykonać. Niestety mapowanego dysku brak.
PS. domena 2012