Я не уверен в 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
Можно использовать стандартные вызовы LDAP через язык как PHP или использовать определенные для AD вызовы от продукта Microsoft (C# с библиотекой DirectoryServices, например). У меня нет Exchange, таким образом, я не знаю, каковы атрибуты сырых данных для почтовых ящиков, но видеть, отключена ли учетная запись, Вы проверили бы атрибут "userAccountControl" на каждого пользователя и затем интерпретировали бы числовые флаги, чтобы видеть, отключена ли учетная запись (список флагов виден здесь: http://support.microsoft.com/kb/305144)
Базовый процесс для сценария был бы:
Свяжите с Active Directory с помощью любого LDAP (PHP, жемчуг, и т.д.) или DirectoryService (Visual Basic, C#).
Сделайте поиск всех пользовательских объектов (объекты с SamAccountType 30000000 в шестнадцатеричном числе), которые отключены (объекты с шестнадцатеричным значением userAccountControl, содержащим '2' в их целочисленной форме)
Цикл через полученные объекты и звонит для определения, которые имеют почтовые ящики, которые активны (снова, я не использую Exchange, таким образом, у меня нет хорошего ответа здесь).
Распечатайте или запишите для регистрации некоторых соответствующих атрибутов каждый раз, когда Вы получаете хит в № 3 (sAMAccountName, dn, и cn был бы хорошими местами для запуска) наряду с, возможно, отметкой даты для всего отчета.
Должен быть инструмент, установленный с Вашим 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.
Это должно помочь: http://msexchangetips.blogspot.com/2007/06/exchange-find-disabled-accounts-with.html
Я уверен, что существует способ сделать это использование PowerShell, но у меня нет Exchange Server под рукой в данный момент...
Для совместного использования, что я закончил тем, что использовал в качестве своего конечного решения, которое я хотел бы разработать, в дополнение к каким комментариям я уехал в каждом, люди отвечают.
Я решил начать использовать Скрытие от атрибута списков адресов Exchange, когда сотрудник завершается.
Таким образом использование LDIFDE с комбинацией информации обеспечило Phil, и из ссылки Massimo вот то, что я сделал.
LDIFDE -f c:\disabledusersmailbox.txt -r "(&(UserAccountControl=514)(objectClass=User)(msExchHideFromAddressLists=TRUE))" -l "dn"