Тимчасове членство в групі AD


12

Ми обмежуємо роботу EXE по всій організації. Але виходячи з обґрунтування та схвалення, ми додаємо користувачів до (конкретних) груп AD протягом 24 годин.

В даний час процес видалення користувачів з цих груп AD після X годин є ручним. Я намагаюся якось автоматизувати це. Але мені було цікаво, чи існує якийсь рідний спосіб вирішення цього питання в AD 2003. Чи є написання сценарію (powershell / vbs) єдиним способом вирішення цього питання?

Відповіді:


23

Якщо припустити, що всі ваші контролери домену є Windows Server 2003 або новішої версії, ви можете це зробити за допомогою функціональних динамічних об'єктів Active Directory без будь-яких сценаріїв.

Скажімо, що обліковий запис користувача "Боб" повинен перебувати у групі "Облік" протягом 24 годин.

  • Створіть групу "Боб у бухгалтерському обліку 24 години" та вкажіть entry-TTLна 24 години (тривалість, коли група повинна залишатися в Active Directory) на момент створення.

  • Додайте "Боб у бухгалтерському обліку 24 години" як член групи "Бухгалтерія"

  • Додайте обліковий запис користувача "Боб" як учасника групи "Боб у бухгалтерському обліку 24 години"

Після наступного входу в обліковий запис користувача «Боб» він буде членом групи «Бухгалтерія» через вкладене групове членство групи «Боб у бухгалтерському обліку 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
FYI - Ми використовуємо сервер ActiveRoles Quest, щоб допомогти в управлінні AD. Він має вбудовані можливості разом з невеликим інструментом робочого процесу, який додається для надання допомоги.
uSlackr

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

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