|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2012/2012 R2 » 2012 R2 - [решено] Выгрузка пользователей через DSQUERY |
|
|
2012 R2 - [решено] Выгрузка пользователей через DSQUERY
|
Новый участник Сообщения: 43 |
Есть задача: выгрузить всех пользователей, кто не менял пароль больше 45 дней и тех, кто не заблокирован.
У меня получилось следующее: dsquery user -stalepwd 45 -limit 0 Только мне нужно чтобы он вывел мне определенные поля: ФИО, подразделение, номер телефона, дата когда он последний раз менял пароль. И я никак не пойму что нужно добавить в запрос. Кто может помочь с этим? UPD-1: Понял в чем затупил. Теперь команда выглядит вот так dsquery user -stalepwd 45 -limit 0 | dsget user -samid -display -dept -company -pwdneverexpires -disabled -acctexpires >D:\test.csv И ошибку выдает вот такую: dsget ошибка:Недопустимый формат значения "Целевой объект этой команды". введите dsget /? для получения справки. |
|
Отправлено: 13:00, 17-06-2015 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 14:07, 17-06-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать nokogerra,
При работе с AD использую RSAT, локально работать на сервере возможности нет. А вот ошибка при попытке запуска скрипта: Цитата:
|
|
Отправлено: 14:24, 17-06-2015 | #3 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать нет нужды работать локально.
Хм, я -searchbase для примера привел. Если вы собираетесь искать пользователей во всем домене, то -searchbase можно не указывать. Если хотите указать дефолтный OU "USers", то он вовсе не OU, а CN, т.е. выглядеть будет так: Get-ADUser -SearchBase "CN=Users,DC=domain,DC=local" -f {(enabled -eq $true) -and (pwdlastset -lt $date)} -properties *| select givenname, surname, initials, department, mobile, passwordlastset |
Отправлено: 14:31, 17-06-2015 | #4 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Я уже понял, что натупил.
Сделал просто: $date=(Get-Date).AddDays(-45) Get-ADUser -SearchBase "DC=lol,DC=com" -f {(enabled -eq $true) -and (pwdlastset -lt $date)} -properties *| select givenname, surname, initials, department, mobile, passwordlastset А хотелось бы без гемора в Excel таблицу собрать. Все-таки dsquery здесь как-то симпатичнее был. |
|
Отправлено: 14:43, 17-06-2015 | #5 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать В таблицу для каких целей? Для удобочитаемости можете сделать так:
get-aduser ....... | ft givenname, surname... -auto Если нужно именно exel, то можно использовать export-csv, например: get-aduser ..... | select givenname.... | export-csv c:\1.csv и потом конвертировать в xls. Стоит прочитать справку командлета export-csv (get-help export-csv -full), возможно придется использовать определенную кодировку. |
Отправлено: 14:54, 17-06-2015 | #6 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Спасибо большое, почитаю.
Но тут еще один косяк вылез. Некоторые поля (ФИО) просто пустые оказались. У меня таких учеток нет. Где-то что-то пошло не так. Буду разбираться. А поля givenname, surname, initials и другие где взять? Если я захочу поменять выводимые данные? Они не совпадают с полями dsquery. Или я что-то путаю? |
Отправлено: 15:02, 17-06-2015 | #7 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать givenname, surname и initials вполне могут быть пустыми. Посмотрите скриншот, причем стоит учесть что name и displayname могут отличаться. Сам логин, а точнее то, что вы видите на вкладке "Учетная запись" в поле "Имя входа пользователя" - это samaccountname.
Вообще посмотреть все свойства объекта пользователя можно так: или Но, как будет видно, это не все атрибуты, которые есть в "Редакторе атрибутов" пользователя. На сколько я знаю, неиспользуемые атрибуты вообще не записываются в объекте posh, т.е. если значение нулевое. Например пустая строка - это не нулевое значение. Если интересуют все-все атрибуты пользователя, можно посмотреть на Msdn например: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx или сделать запрос к схеме о классе "user" (никогда не делал). |
Отправлено: 06:30, 18-06-2015 | #8 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Все получилось. Большое спасибо!
Теперь мой скрипт выглядит вот так: $date=(Get-Date).AddDays(-45) Get-ADUser -SearchBase "DC=lol,DC=com" -f {(enabled -eq $true) -and (pwdlastset -lt $date)} -properties *| select displayname, sAMAccountName, pwdLastSet, company, department, description, telephoneNumber, l, distinguishedName | export-csv -Encoding UTF8 D:\test.csv Сейчас осталось решить 3 проблемы: 1. Поле pwdLastSet вот в таком виде отображается "130747725964343885". Не получается пока его привести в нормальный вид. 2. Пока не нашел свойства "Срок действия пароля не ограничен", как его в вывод сделать. 3. Не нашел свойства, заблокирована ли учетка пользователя или нет в данный момент. |
Отправлено: 14:06, 18-06-2015 | #9 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать
p.s. а по поводу интересного отображения даты посмотрите эту тему https://social.technet.microsoft.com...orum=scrlangru
|
Последний раз редактировалось nokogerra, 18-06-2015 в 16:01. Отправлено: 15:48, 18-06-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 - Идентификация пользователей по атрибуту комната(office) с помощью dsquery | dogtown | Windows Server 2008/2008 R2 | 7 | 12-02-2013 19:11 | |
2008 R2 - Не работает dsquery | ekzarh | Windows Server 2008/2008 R2 | 10 | 21-11-2012 15:45 | |
CMD/BAT - [решено] dsquery | dsget вывод пользователей с почтой | exo | Скриптовые языки администрирования Windows | 4 | 17-03-2009 10:22 | |
Драйвер - Загрузка и выгрузка dll через CMDline | borison | Microsoft Windows 2000/XP | 2 | 29-02-2008 17:50 | |
Dsquery Помогите плиз.. | minion | Microsoft Windows NT/2000/2003 | 9 | 15-01-2008 09:18 |
|