Tymczasowe członkostwo w grupie AD

12

Ograniczamy uruchamianie exe w całej organizacji. Ale w oparciu o uzasadnienia i zatwierdzenia dodajemy użytkowników do (określonych) grup AD na 24 godziny.

Obecnie proces usuwania użytkowników z tych grup AD po X godzinach jest ręczny. Próbuję zautomatyzować to w jakiś sposób. Zastanawiałem się jednak, czy istnieje jakiś natywny sposób radzenia sobie z tym w AD 2003. Czy pisanie skryptu (powershell / vbs) jest jedynym sposobem radzenia sobie z tym?

Anoop
źródło

Odpowiedzi:

23

Zakładając, że wszystkie kontrolery domeny mają system Windows Server 2003 lub nowszy, możesz to zrobić za pomocą funkcji obiektów dynamicznych w Active Directory bez żadnego skryptu.

Załóżmy, że konto użytkownika „Bob” musi znajdować się w grupie „Księgowość” przez 24 godziny.

  • Utwórz grupę „Bob in Accounting 24 Hours” i określ entry-TTLna 24 godziny (czas trwania, w którym grupa ma pozostać w Active Directory) w momencie tworzenia.

  • Dodaj „Roberta w rachunkowości 24 godziny” jako członek grupy „Księgowość”

  • Dodaj konto użytkownika „Bob” jako członek grupy „Bob in Accounting 24 godziny”

Przy następnym logowaniu konta użytkownika „Bob” będzie on członkiem grupy „Księgowość” poprzez członkostwo w grupie „Bob w rachunkowości 24 godziny” w grupie „Księgowość”. Pod koniec 24 godzin wszyscy kontrolerzy domeny wyrzucą śmieci do grupy „Bob w rachunkowości 24 godziny”, a „Bob” nie będzie już członkiem „Księgowości”.

Sztuka polega na tym, że nie dynamicznych obiektów nie można przekształcić w dynamiczne po ich utworzeniu. Jednak użycie zagnieżdżania grup pozwala ominąć to ograniczenie w tym przypadku.

Aby utworzyć grupę, musisz użyć narzędzia innego niż „Użytkownicy i komputery usługi Active Directory”, ponieważ musisz ustawić datę entry-TTLutworzenia grupy. Skrypt w tym blogu może mieć miejsce wyjściowy (jest zbudowany do tworzenia obiektów użytkownika) lub, alternatywnie, można po prostu użyć ldifdealbo csvdezrobić utworzenie też.

Evan Anderson
źródło
5
Kurcze, to coś, o czym nie wiedziałem. I ma 10 lat.
mfinni
1
@mfinni - Nigdy nie używałem go w produkcji. Działa jednak dokładnie tak, jak reklamowano. Całkiem nieźle, co?
Evan Anderson
2
@EvanAnderson Jesteś zły.
Ryan Ries
2
Jesteś zbyt miły. Na tym blogu znajduje się bardzo dobre zaplecze dotyczące tej funkcji ( ten facet to naprawdę bad AD - często używam tego produktu): blogs.chrisse.se/2012/11/28/…
Evan Anderson
6

Możesz sobie z tym poradzić na kilka sposobów, żaden nie jest natywny dla AD:

  1. Napisz skrypt i umieść go w harmonogramie zadań. Poproś o wysłanie zapytania do pliku tekstowego lub pliku CSV w sieci z bieżącą listą. Niech usuwa osoby, których nie ma na tej liście w czasie wykonywania.

  2. Użyj czegoś takiego jak System Center Orchestrator, aby utworzyć element Runbook, aby dodać użytkowników do grupy i usunąć ich automatycznie po X godzinach.

  3. Utwórz przypomnienie w Outlooku, aby ręcznie usunąć ludzi :)

MDMarra
źródło
1
Do Twojej wiadomości - Używamy serwera ActiveRoles firmy Quest do zarządzania AD. Ma wbudowaną funkcję wraz z niewielkim narzędziem przepływu pracy dodanym do pomocy.
uSlackr
Myślę, że użycie opcji 1 i utworzenie zaplanowanego skryptu PowerShell z plikiem bieżących użytkowników to dobry sposób na rozwiązanie tego problemu.
jer.salamon
5
Nie możesz się oprzeć syrenie dynamicznych obiektów ... Dynamiczne obiekty!
Evan Anderson