Список неактивных пользователей домена

21.10.2010

Пожалуй каждый администратор домена сталкивается с так называемыми «мертвыми душами». Никакой мистики тут нет. Люди устраиваются на работу, увольняются, а отдел кадров обычно не спешит сообщать об этом системному администратору. Также бывает и с неактивными компьютерами. И со временем накапливается куча пользователей, давным давно не не работающих.  Мне понадобилось таких пользователей почистить и я накатал небольшой скрипт:

ON ERROR RESUME NEXT
dim Target
set Target = GetObject(«WinNT://домен/контроллердомена»)
set fso = CreateObject(«Scripting.FileSystemObject»)
set file = fso.OpenTextFile(«test.txt», 8, true)
rem WScript.echo Target.Name & «,» & Target.Class
file.WriteLine(Target.Name & «,» & Target.Class)
Target.Filter = Array(«User»)
for Each C in Target
rem WScript.Echo C.Name&» «&C.LastLogin
if c.accountdisabled = 0 then
file.WriteLine(C.Name & «;» & C.LastLogin )
end if
next
file.WriteBlankLines(1)
file.Close()
WScript.Echo(«Downloading completed!»)

Принцип работы очень простой, в цикле обходит всех пользователей домена полученных фильтром user, берет из него только те которые не заблокированы и выводит в файл дату последнего входа в домен.

Файлик открываем екселем, сортируем по второй колонке и анализируем тех кто давно уже не авторизовывался в домене. При необходимости блокируем их или удаляем.

P.S. Никто не знает хороший, дешевый хостинг с американским IP, т.е. физически находящийся там?  Задумал тут один проект под англоязычную аудиторию, в ближайшее время буду воплощать в жизнь.

4 комментария

  • Андрей 09.03.2011 в 6:47 пп

    А как проверить конкретный организационный юнит? скажем пользователи раскиданы по 20 OU и нет возможности проверить все

  • Андрей 10.03.2011 в 3:26 пп

    Точно. Подставил эту строку и все заработало.

    set Target = GetObject («LDAP://cn=X_Users,ou=Security,dc=blabla,dc=bla,dc=ru»)

    Спасибо.
    Можно сразу добавить в статью..:), в качестве комментария.

  • SmertNIk 26.05.2013 в 7:01 пп

    Скрипт очень нужный, но есть одна проблема, скрипт моментально показывает «Downloading completed!», но продолжает загружать данные пользователей
    И есть вопрос, у меня пользователи разбиты на несколько групп, как сделать выборку только по пользователям из конкретной группы?
    Предложение Андрея не сработало, почему не знаю!!!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *