Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD

Ответить
Настройки темы
Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!

Есть список пользователей, которые нужно удалить из AD Windows server 2003. Но некоторых пользователей, которые есть в списках нет в AD.
Поэтому требуется:
1. Проверка пользователей в AD из списка, сохранение результатов в блокнот, кто есть в базе данных контроллера домена.
Например:
dsquery user "CN=Пупкин В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
dsquery user "CN=Сидоров В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
Всех пользователей, которые проверены, что есть в AD занести в блокнот, например users.txt.
2. Удаление этих пользователей из проверенных, из блокнота users.txt
Например:
dsrm -subtree -noprompt -c "CN=Пупкин В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
dsrm -subtree -noprompt -c "CN=Сидоров В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
Требуется либо 2 отдельных скрипта (1 проверяет, второй удаляет), либо все в одном, можно в cmd, vbs и т.д.

Отправлено: 13:14, 22-07-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


alex_frog, а в чем проблема?.. ну ругнется dsrm что какого-то объекта нет, остальных-то удалит

Отправлено: 15:39, 22-07-2009 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Тут нужно знать каких пользователей удалил, список удаленных.
Поскольку потом нужно все перенаправленные папки этих пользователей тоже скриптом автоматически удалить. Может к команде (dsrm -subtree -noprompt -c "CN=Пупкин В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local") можно привязать лог файл со списком успешно удаленных!?

Отправлено: 16:19, 22-07-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата alex_frog:
можно привязать лог файл со списком успешно удаленных!? »
легко - при успехе переменная ERRORLEVEL=0, и наоборот... для конкретики нужен код или пример списка

Отправлено: 16:45, 22-07-2009 | #4


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Например Удаляю из АД пользователей Пупкин И.А, Сидоров П.В,Иванов С.А и т.д. 1200 пользователей.
Скрипт в cmd.
Код скрипта будет пока такой:

dsrm -subtree -noprompt -c "CN=Пупкин В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
dsrm -subtree -noprompt -c "CN=Иванов С.А,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
dsrm -subtree -noprompt -c "CN=Сидоров П.В,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"
dsrm -subtree -noprompt -c "CN=Иванов С.А,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"

Нужно получить результат успешного удаления пользователей в .txt
Либо CN=Пупкин В.И,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local
Лучше так, Это и будет список удаленных пользователей:
Пупкин В.И
Иванов С.А
Сидоров П.В
и т.д.
К примеру Иванова в Ад нет, следовательно не записан в список.

Теперь как прикрутить переменную ERRORLEVEL=0 к командам dsrm -subtree -noprompt -c "CN=Фамилия.Имя,OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local"

Отправлено: 17:08, 22-07-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


alex_frog, где-то так:
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set $LST=CN.txt
Set $DEL=DEL.txt
Set $OU=OU=Managers,OU=Sales,OU=Domain Users,DC=example,DC=local

If Exist "%$DEL%" DEL /F "%$DEL%"
For /F "UseBackQ Delims=" %%i In ("%$LST%") Do (
dsrm -subtree -noprompt -c "CN=%%i,%$OU%"
If Errorlevel==0 Echo %%i>>"%$DEL%"
)
> "CN.txt" - файл-список CN (в DOS кодировке)
> "DEL.txt" - список успешно удаленных CN
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:59, 22-07-2009 | #6


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо! Усё нормульно!

Отправлено: 18:41, 22-07-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипт для проверки списка пользователей и их удаление из AD alex_frog Microsoft Windows NT/2000/2003 0 22-07-2009 13:16
Помогите, нужен скрипт vbs или wsh Foxie Microsoft Windows NT/2000/2003 3 18-01-2006 13:45
Скрипт для проверки пользователя ($) Mike-os Вебмастеру 7 25-11-2005 18:27
Прога для проверки списка proxy-серверов. Watcher Программное обеспечение Windows 6 25-07-2004 19:32
VBS/WSH/JS - Хелп! Нужен скрипт на на WSH или VBS b0bi Программирование и базы данных 6 15-06-2004 15:17




 
Переход