Automatyczne dodawanie nowych podsieci Active Directory

1 lipca 2015 at 14:09

Jak ważny jest porządek w podsieciach i lokacjach Active Directory wie każdy, kto ma styczność z usługami katalogowymi. Nieporządek skutkuje w najlepszym wypadku opóźnionymi czasami logowania i uwierzytelniania oraz przestojami w replikacji, natomiast w najgorszym jest w stanie rozłożyć Active Directory na łopatki. Można mieć 100% procedury zarządzania nowymi podsieciami i przyłączania ich do AD, natomiast zawsze istnieje ryzyko, że coś zostanie pominięte. Aby tego uniknąć można oczywiście zautomatyzować sobie część pracy. Założenia: 1. W Active Directory tworzymy lokację działającą jak czyściec, gdzie trafiać będą wszystkie nowe, nieuwzględnione wcześniej przez administratorów podsieci. Lokację nazywamy ‚Purgatory‚ 2. Wszystkie podsieci w firmie mają maskę /24 (255.255.255.0) 3. Cyklicznie przeglądamy czyściec żeby rozrzucić podsieci do prawidłowych lokacji, lub generujemy jakieś reguły przydziału automatycznego   Od strony technicznej: Na każdym z kontrolerów domeny w lokalizacji: ‚C:\Windows\Debug\Netlogon.log‚ znajduje się plik, gdzie logowane są między innymi zdarzenia o klientach nie przypisanych do żadnej lokacji AD. Każdy taki wpis ma postać:

Wystarczy więc zacząć monitorować zmiany w pliku na kontrolerach domeny i automatycznie przetwarzać dane w nich zawarte. Let’s go 😉

W pierwszym kroku sprawdzamy, czy plik netlogon.log zmienił sie w ciągu ostatniego dnia. Jeśli nie, to nie przetwarzamy danych. Jeśli tak – zaczynamy zabawę […]

Delegacja uprawnień Active Directory z Powershella

1 lipca 2015 at 12:35

O delegacji uprawnień do obiektów Active Directory było już wiele artykułów, ale zdecydowana większość z nich  opiera się o przeklikiwanie delegacji z interfejsu graficznego. Nie dość, że zajmuje to sporo czasu, to odnalezienie szczegółowego atrybuty, do którego chcemy przekazać kontrolę innej osoby może skończyć się oczopląsem… 😉 Jak więc zrobić to szybciej i sprawniej? Oczywiście wykorzystując Powershella. Niezbędna będzie zainstalowana przystawka Quest AD Management (dla mnie wygodniejsza niż natywny moduł do AD)

I teraz załóżmy, że chcemy wydelegować uprawnienia do modyfikacji atrybutu ‚physicalDeliveryOfficeName’ użytkowników w jednostce „OU=IT,DC=mkrzanowicz,DC=corp” dla grupy „PhoneAdmins”: Wystarczy, że w tym celu wykorzystamy polecenie:

Jesli uprawnienia mają być delegowane również „w dół” to używamy przełącznika -ApplyTo ‚ChildObjects’ w przeciwnym wypadku -ApplyTo ‚ThisObjectOnly’. Jeśli chcemy jawnie odmówić jakiegoś uprawnienia, to dorzucamy przełącznik -Deny W przypadku, gdy chcemy zastosować do konkretnych obiektów, to uwzględniamy je w przełączniku -ApplyToType  np: ‚group’, ‚organizationalUnit’,’user’ itd. Natomiast typ delegowanych uprawnień obsługujemy przełącznikiem -Rights np: ‚ReadProperty’,’WriteProperty’, ‚CreateChild’  itd. Jeśli wykorzystamy uprawnienie ‚CreateChild’ to możemy dodatkowo określić jakich typów będzie ono dotyczyć np: -ChildType ‚user’   Polecenie jest na prawdę bardzo użyteczne i pozwala wykonać zasadniczo każą, najbardziej zawiłą delegacje uprawnień. Ostatecznie możemy również uprawnienia skopiowac z wzorcowej jednostki 1:1 poleceniem:

Enjoy! 😉

© Marcin Krzanowicz