Сценарий для получения по запросу списка почтовых ящиков пользователей с отключенной учетной записью Active Directory

Я не уверен в SMB и NFS, поскольку я никогда не использую их. На моих серверах SSH является единственным сервисом, доступным для удаленного доступа, и я могу ограничить их доступ с директивой AllowUser в sshd_config. С последними версиями OpenSSH существует внутренний sftp клиент (никакие внешние зависимости), который может быть настроен. Это делает относительно легким настроить пользователя с sftp доступом к chroot'ed каталогу только - как тогда, когда они должны обновить веб-контент и т.д.

Subsystem sftp internal-sftp

MatchUser Joe
  ForceCommand internal-sftp
  ChrootDirectory /var/www

the chroot dir and all above it must be:
* owned by root
* not group or other writable 
2
задан 23 September 2010 в 18:44
4 ответа

Можно использовать стандартные вызовы LDAP через язык как PHP или использовать определенные для AD вызовы от продукта Microsoft (C# с библиотекой DirectoryServices, например). У меня нет Exchange, таким образом, я не знаю, каковы атрибуты сырых данных для почтовых ящиков, но видеть, отключена ли учетная запись, Вы проверили бы атрибут "userAccountControl" на каждого пользователя и затем интерпретировали бы числовые флаги, чтобы видеть, отключена ли учетная запись (список флагов виден здесь: http://support.microsoft.com/kb/305144)

Базовый процесс для сценария был бы:

  1. Свяжите с Active Directory с помощью любого LDAP (PHP, жемчуг, и т.д.) или DirectoryService (Visual Basic, C#).

  2. Сделайте поиск всех пользовательских объектов (объекты с SamAccountType 30000000 в шестнадцатеричном числе), которые отключены (объекты с шестнадцатеричным значением userAccountControl, содержащим '2' в их целочисленной форме)

  3. Цикл через полученные объекты и звонит для определения, которые имеют почтовые ящики, которые активны (снова, я не использую Exchange, таким образом, у меня нет хорошего ответа здесь).

  4. Распечатайте или запишите для регистрации некоторых соответствующих атрибутов каждый раз, когда Вы получаете хит в № 3 (sAMAccountName, dn, и cn был бы хорошими местами для запуска) наряду с, возможно, отметкой даты для всего отчета.

1
ответ дан 3 December 2019 в 13:26

Должен быть инструмент, установленный с Вашим Exchange под названием LDIFDE. С этим инструментом можно импортировать или экспортировать материал из ActiveDirectory. При необходимости в файле, содержащем, все отключили useraccounts, просто открывают командную строку и тип:

LDIFDE-u-f myexport.ldif-r" (и (objectCategory=person) (userAccountControl=514))"

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

LDIFDE-u-f myexport.ldif-r" (и (objectCategory=person) (userAccountControl=514))"-l "dn"

С наилучшими пожеланиями, Phil.

0
ответ дан 3 December 2019 в 13:26

Это должно помочь: http://msexchangetips.blogspot.com/2007/06/exchange-find-disabled-accounts-with.html

Я уверен, что существует способ сделать это использование PowerShell, но у меня нет Exchange Server под рукой в данный момент...

0
ответ дан 3 December 2019 в 13:26

Для совместного использования, что я закончил тем, что использовал в качестве своего конечного решения, которое я хотел бы разработать, в дополнение к каким комментариям я уехал в каждом, люди отвечают.

Я решил начать использовать Скрытие от атрибута списков адресов Exchange, когда сотрудник завершается.

Таким образом использование LDIFDE с комбинацией информации обеспечило Phil, и из ссылки Massimo вот то, что я сделал.

LDIFDE -f c:\disabledusersmailbox.txt -r "(&(UserAccountControl=514)(objectClass=User)(msExchHideFromAddressLists=TRUE))" -l "dn"
0
ответ дан 3 December 2019 в 13:26

Теги

Похожие вопросы