Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Как экспортировать список пользюков из АД

Автор: emakarov
Дата сообщения: 24.07.2008 12:53
Задача:
В файлик вытащить список учетных записей АД (юзер, группы в которых состоит юзер)

Чем можно это сотворить?
AD win2k3

Добавлено:
Ideal Administrator 2008 помог
Автор: VovaMozg
Дата сообщения: 25.07.2008 08:21
файлик users.vbs создай со следующим кодом
my_domen.ru исправь на свой домен

Цитата:

Const ForAppending = 8
On Error Resume Next
'Путь, по которому будет писаться отчёт
path="c:\"
'Файл, в который будет писаться отчёт
file_name=path+"\users.txt"

Set fso = CreateObject("Scripting.FileSystemObject")
'Проверяем наличие папки
if (fso.FolderExists(path)) then
else Set Folder = fso.CreateFolder(path)
end if

Set objFSO = CreateObject("Scripting.FileSystemObject")
'Проверяем наличие файла, если есть то дописываем в конец
Set objTextFile = objFSO.OpenTextFile _
(file_name, ForAppending, True)

'Собственно поиск нужных юзеров
On Error Resume Next
Set objDomain = GetObject("WinNT://my_domen.ru")

for Each Item in objDomain
if Item.Class = "User" then
objTextFile.Write Item.FullName & VbCrLf
END if
Next
objTextFile.Close
WSCript.Echo "Всё"

Автор: IDaho
Дата сообщения: 03.10.2008 07:26
с этим скриптом вытаскивает только полное имя, нужно еще User Logon Name.
делаю строку:
objTextFile.Write Item.FullName & vBTab & item.sAMAccountName & VbCrLf

но после ничего в файл не пишет.
Автор: idiMAN
Дата сообщения: 03.10.2008 08:17
IDaho
Попробуй так:

Код:
objTextFile.WriteLine Item.FullName & vBTab & Item.Name
Автор: IDaho
Дата сообщения: 03.10.2008 08:56
пасиб работает!
Автор: v1tall
Дата сообщения: 04.10.2008 21:07
Штатные утилиты LDIFDE и CSVDE тоже решают задачу не только экспорта, но и импорта, если таковой будет востребован.
Автор: IDaho
Дата сообщения: 17.08.2010 16:26
еще вопрос, как дернуть прописанные в профиле у пользователя группы?
Автор: Valery12
Дата сообщения: 18.08.2010 08:55
Вы будете смеяться но в самой оснастке AD "пользователи и компьютеры" можно щелкнуть правой кнопкой мыши на любом контейнере и там будет команда "экспортировать список..." экспортированы будут те столбцы которые вы видите на экране поэтому нужно заранее добавить те которые интересуют

Добавлено:

Цитата:
еще вопрос, как дернуть прописанные в профиле у пользователя группы?

http://forum.script-coding.info/viewtopic.php?id=4421
Автор: IDaho
Дата сообщения: 18.08.2010 09:49
Valery12 пробовал смеяться, но не вышло, т.к. опция выбора колонок отсутствует. за линк спасибо
Автор: Valery12
Дата сообщения: 18.08.2010 10:59

Цитата:
опция выбора колонок отсутствует

я ведь написал зарнее
выбрал контейнер, в окне со списком щелкнул правой кнопкой в любом свободном месте, меню вид - добавить или удалить столбцы, а уже потом когда нужные столбцы отобразились - "экспортировать список..."
Автор: IDaho
Дата сообщения: 18.08.2010 12:03
граппы все равно не показывает... а они важнее чем все остальное
Автор: Valery12
Дата сообщения: 18.08.2010 14:42
группы конечно нет, тут только скрипт.
Автор: beatlejuse
Дата сообщения: 05.11.2013 12:33

Цитата:
Вы будете смеяться но в самой оснастке AD "пользователи и компьютеры" можно щелкнуть правой кнопкой мыши на любом контейнере и там будет команда "экспортировать список..." экспортированы будут те столбцы которые вы видите на экране поэтому нужно заранее добавить те которые интересуют

всё бы хорошо, только русские символы заменяются вопросительными знаками
Автор: golychev
Дата сообщения: 05.11.2013 12:34
beatlejuse
открой список в notepad++ и поменяй кодировку.
Автор: beatlejuse
Дата сообщения: 05.11.2013 13:47
а на какую менять? вроде все перепробовал - никаких изменений
Автор: BW4ever
Дата сообщения: 05.11.2013 13:56
Ну в наш то продвинутый 21 век вроде можно и что-то вроде:
Get-ADUser -filter *|where {$_.enabled}
Сразу в utf8, со всеми полями, обрабатывай по самые не хочу.
Автор: beatlejuse
Дата сообщения: 05.11.2013 14:04

Цитата:
Ну в наш то продвинутый 21 век вроде можно и что-то вроде

в наш продвинутый век надо ещё уточнять, куда ЭТО писать.
в цмд? вываливает ошибку...
если говорите "А", извольте говорить и "Б"
Автор: BW4ever
Дата сообщения: 05.11.2013 14:05
В powershell. В любой ОС выше xp\2003 есть. Да и на них можно поставить.
p.s. Я просто думал, по синтаксису понятно...
Автор: beatlejuse
Дата сообщения: 05.11.2013 14:08
ага, в повершэле прокатило...
кстати, никаким утф там и не пахнет - всё также, с вопросиками.
а ещё простыня вываливается в окне, а неплохо бы заливать это в файлик

Добавлено:

Цитата:
Я просто думал, по синтаксису понятно...

ну не знаю... мне например этот синтаксис напомнил линух
а вообще наверное не все знают повершел
Автор: BW4ever
Дата сообщения: 05.11.2013 14:15

Цитата:
кстати, никаким утф там и не пахнет - всё также, с вопросиками.

У вас что-то с локалью в системе.

Цитата:
а неплохо бы заливать это в файлик

А чуть подумать? )
Get-ADUser -filter *|where {$_.enabled -eq $TRUE }|format-table name,samaccountname > out.txt

Добавлено:
поля для вывода(типа name, samaccountname) можно посмотреть в
get-aduser -filter *|get-member
Автор: beatlejuse
Дата сообщения: 05.11.2013 14:19

Цитата:
Get-ADUser -filter *|where {$_.enabled -eq $TRUE }|format-table name,samaccountname > out.txt

вот теперь всё читаемо.
а какие ещё вещи можно выгружать? где можно найти все возможные параметры?
надо чтобы выгружалось, в каких группах каждый пользователь, блокирована ли учётка и когда последний раз менялся пароль
Автор: BW4ever
Дата сообщения: 05.11.2013 14:26
На данный момент выгружаются только включенные учетки(where {$_.enabled})
Список параметров в man`e:
get-help get-aduser -detailed
Выгружать (и изменять) при наличии прав можно любые аттрибуты.
Автор: beatlejuse
Дата сообщения: 05.11.2013 14:49
подскажите, а как вывести в каких группах каждый усер, забловитрована ли учётка и когда последний раз менялся пароль?
Автор: BW4ever
Дата сообщения: 05.11.2013 15:14
Что-то типа этого:
Get-ADUser -filter * -properties memberof,enabled,pwdlastset|format-list name,samaccountname,enabled,pwdlastset,memberof
Время смены пароля в unix time, членство в группах в ldap нотации.
Автор: beatlejuse
Дата сообщения: 05.11.2013 15:44
спасибо!

Добавлено:
что то время криво пишется. все числа вот такого размера:130243831555527966
если конвертировать то получается 15th April 4127264690 09:46:06 PM (UTC)
реальная дата должна быть примерно два месяца назад и рабочее время.
если отрезать лишние 8 знаков с конца или сначала - получится ерунда
Автор: BW4ever
Дата сообщения: 05.11.2013 17:03

Цитата:
что то время криво пишется

Ну я же сразу сказал - unix time.
Автор: beatlejuse
Дата сообщения: 05.11.2013 17:43
да, это я понял. я же привёл пример числа. попробуйте перевести ))
Автор: BW4ever
Дата сообщения: 05.11.2013 18:10
Ну, не вопрос.
130243831555527966= 23 сентября 2013 г. 4:12:35 UTC
p.s. Оказывается, эти идиоты(MS) как обычно обнаружили фатальный недостаток unix time, и считают время в своих единицах от 01.01.1601 a.c. И почему я не особо удивлен.

Добавлено:
Еще вроде есть атрибут PasswordLastSet с человеческим временем, не требующим перевода из наркоманских единиц.
Автор: beatlejuse
Дата сообщения: 14.11.2013 11:01
Возник ещё вопросик.
Параметр enabled показывает (не)отключенные учётки а как посмотреть заблокированные?
и где можно посмотреть все допустимые параметры?
Автор: BW4ever
Дата сообщения: 14.11.2013 11:24

Цитата:
посмотреть заблокированные

(where {$_.enabled -eq $false})

Цитата:
и где можно посмотреть все допустимые параметры?

Параметры чего? Командлетов powershell - get-help "о чем", атрибуты объектов AD - в AD.

Страницы: 12

Предыдущая тема: IBM DS3400 и Storage Manager Client


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.