Список и сравнение объектов в активном каталоге

Я должен очистить компьютерные объекты в нашей AD, и, поскольку во всех computernames есть имя пользователя (например, pcuser1, nbuser2 и т. Д.), Я пытаюсь выяснить, как создать полный список пользователей AD, а затем сравнить его с полным список компьютерных имен. Наши пользовательские объекты непротиворечивы, поэтому это сравнение скажет мне, если компьютерный объект не сравнивается с пользователем.

Как мне поступить с этим? Я не профессионал в написании сценариев, но я предполагаю, что некоторые VBS или PowerShell могли бы добиться цели. Это та часть сравнения, которой я не увлекаюсь.

Некоторый псевдокод может быть:

get all usernames from AD > text1
get all computernames from AD > text2
traverse text1
   traverse text2
   if text1.line# is contained in text2.line# then
      text1.line# and text2.line# > output.txt

1 ответ

Решение

Я бы не стал писать свой собственный скрипт для этого. Во-первых, псевдокод, который вы написали, был бы в квадрате. Существует множество доступных инструментов, которые можно комбинировать, чтобы получить то, что вы хотите.

Используйте такой инструмент, как ldifde, csvde или dsquery, чтобы экспортировать элементы, которые вам нужны. В зависимости от вашей версии окон они могут быть включены, или вам может потребоваться загрузить набор ресурсов или вспомогательные инструменты. Вы можете выполнить дополнительную обработку в Excel или текстовом редакторе, чтобы исходные файлы выглядели правильно, сортировали их и т. Д.

Затем используйте инструмент, такой как WinDiff или другой графический интерфейс (или текстовый режим, если это ваша вещь), чтобы сравнить их.

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

Другие вопросы по тегам