Временное членство в группе AD


12

Мы ограничиваем работу exe по всей организации. Но на основании обоснований и одобрений мы добавляем пользователей в (определенные) группы AD на 24 часа.

В настоящее время процесс удаления пользователей из этих групп AD после X часов выполняется вручную. Я пытаюсь автоматизировать это каким-то образом. Но мне было интересно, есть ли какой-нибудь собственный способ обработки этого в AD 2003. Является ли написание сценария (powershell / vbs) единственным способом обработки этого?

Ответы:


23

Предполагая, что все ваши контроллеры домена работают под управлением Windows Server 2003 или более поздней версии, вы можете сделать это с помощью встроенных функций динамических объектов Active Directory без каких-либо сценариев.

Допустим, учетная запись пользователя «Боб» должна находиться в группе «Бухгалтерский учет» в течение 24 часов.

  • Создайте группу «Bob in Accounting 24 Hours» и укажите entry-TTL24 часа (продолжительность, в течение которой группа должна оставаться в Active Directory) во время создания.

  • Добавьте «Bob in Accounting 24 часа» в качестве члена группы «Accounting»

  • Добавьте учетную запись пользователя «Bob» в качестве члена группы «Bob in Accounting 24 Hours»

При следующем входе в учетную запись пользователя «Боб» он станет членом группы «Учет» через членство вложенной группы из группы «Боб в бухгалтерии 24 часа» в группу «Учет». По истечении 24 часов все контроллеры домена будут собирать мусор в группе «Боб в бухгалтерии 24 часа», и «Боб» больше не будет членом «Бухгалтерии».

Хитрость в том, что нединамические объекты не могут быть преобразованы в динамические после их создания. Однако использование группового вложения позволяет обойти это ограничение в данном случае.

Вам нужно будет использовать инструмент, отличный от «Пользователи и компьютеры Active Directory», чтобы создать группу, потому что вам нужно будет установить ее entry-TTLво время создания группы. Сценарий в этой записи в блоге может быть стартовое место (он построен , чтобы создать объекты пользователя) или, в качестве альтернативы, вы можете просто использовать ldifdeили csvdeсделать создание, тоже.


5
Черт возьми, это то, о чем я не знал. И это 10 лет.
mfinni

1
@mfinni - я никогда не использовал его в производстве. Это работает точно так, как рекламируется, хотя. Довольно аккуратно, а?
Эван Андерсон


2
@EvanAnderson Ты крутой.
Райан Райс

2
Вы все слишком добры. В этом блоге есть некоторые действительно хорошие сведения об этой функции ( этот парень на самом деле является задирой в рекламе - я просто много использую этот продукт): blogs.chrisse.se/2012/11/28/…
Эван Андерсон,

6

Вы можете справиться с этим несколькими способами, ни один из которых не является родным для AD:

  1. Напишите скрипт и поместите его в планировщик задач. Пусть он запросит текстовый файл или CSV где-нибудь в сети с текущим списком. Пусть он удалит людей, которых нет в этом списке во время выполнения.

  2. Используйте что-то вроде System Center Orchestrator, чтобы создать книгу запусков, чтобы добавить пользователей в группу и автоматически удалить их через X часов.

  3. Сделать напоминание Outlook, чтобы вывести людей вручную :)


1
К вашему сведению - мы используем сервер Quest ActiveRoles для помощи в управлении AD. В него встроена возможность, а также добавлен небольшой инструмент рабочего процесса.
uSlackr

Я думаю, что использование варианта 1 и создание запланированного сценария PowerShell с файлом текущих пользователей - хороший способ решить эту проблему.
jer.salamon

5
Вы не можете устоять перед звуком сирены динамических объектов ... Динамических объектов!
Эван Андерсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.