Экспорт учетных записей active directory: Импорт пользователей из каталога Active Directory | Статья
Импорт пользователей из каталога Active Directory | Статья
Опубликовано:
13 сентября 2012 в 11:30
26
41
Как известно, одним из способов массового импорта пользователей является импорт пользователей из каталога Active Directory. Однако, на такой вариант импорта накладываются некоторые ограничения:
- Невозможно вторично импортировать данные по существующим в системе пользователям.
- Невозможно запускать компоненту импорта через командную строку в автономном режиме.
- Нет возможности импортировать дополнительную информацию об учетной записи из каталога Active Directory (загружается только информация необходимая для генерации пользователя).
При очередном внедрении системы, заказчик поставил жесткие требования на импорт пользователей из каталога:
- Должна быть возможность многократного импорта данных по существующим пользователям с целью обновления информации по данным пользователям (отключение учетной записи, загрузка сертификатов, группы пользователя и пр. )
- Импорт пользовательских групп с типами Organization Units и Universal Groups с учетом иерархии в Active Directory. Обновление информации по вхождению пользователя в ту или иную группу.
- Импорт пользовательских сертификатов.
- Автоматическое связывание учетной записи пользователя с существующей записью справочника
Работники. - Импорт E-mail адреса пользователя (в последствии использовался для рассылки уведомлений о новых заданиях).
- Закрытие учетной записи пользователя системы DIRECTUM, в случае отключения ее в каталоге Active Directory.
- Работа автономном режиме через командную строку по назначенным заданиям.
В результате работы было разработано решение в виде сценария, отвечающего данным требованиям. Из основного функционала сценария можно отметить следующее:
- Импорт учетной записи пользователя. Импортируется логин пользователя и полное имя.
- Импорт пользовательских групп. Импортируются группы пользователя в которые входит учетная запись каталога (импортируются группы с типом Organization Unit и Universal Groups). При этом учитывается иерархия каталогов домена.
- Импорт пользовательских сертификатов. Импортируются действующие сертификаты учетных записей каталога и сертификаты, срок действия которых еще не наступил, предназначенных для подписания и шифрования.
- Удаление/закрытие учетной записи. Удаление логина пользователя и закрытие записи справочника
Пользователи при отключении учетной записи каталога. - Привязка учетной записи к работнику. Учетная запись пользователя привязывается к записи справочника
Работники, для которой совпадает значение реквизита Фамилия И.О. с полным именем учетной записи каталога. - Импорт адреса E-mail. Если для учетной записи импортированного пользователя была привязана к записи
Работники, то для соответствующей записи справочника Персоны
записывается пользовательский адрес электронной почты.
Сценарий позволяет работать в визуальном режиме (когда требуется обработать одну или несколько учетных записей) и в скрытом режиме (когда производится обработка всех учетных записей без участия администратора).
Ну и для наглядности, приведу пример визуальной работы сценария.
Итак, запустив сценарий, настраиваем параметры импорта и жмем
ОК:
На следующем шаге выбираем импортируемых пользователей пользователей. Переносим нужных пользователей из левой колонки в правую и жмем кнопку
ОК:
После того, как пользователи импортируются видим сообщение об окончании работы сценария:
О том какие действия были произведены с учетными записями можем посмотреть в логе импорта.
Платформа разработки: DIRECTUM 4.6.1.
Пакет разработки и тех. описание: dev_import_ad_users.zip (81,87 Кб)
Исправленная функция к сценарию: dev_create_user.zip (8,99 Кб)
Версия Руслана Бапина: ADIU_ActiveDirectoryImport_New[1][2]. zip (5,55 Кб)
Если вам нужно создать много новых учетных записей пользователей в домене одновременно, крайне неэффективно создавать их все вручную с графической консоли Active Directory Users and Computers (ADUC).
В этой статье мы рассмотрим простой скрипт PowerShell, который позволяет импортировать пользовательские данные из файла CSV / XLS и создавать для них учетные записи в домене Active Directory.
Прежде всего, создайте файл NewUser.xlsx в Excel со следующей структурой заголовка:
FullName;sn;givenName;company;department;title;telephoneNumber;City;sAMAccountName;Password
Заполните файл Excel данными всех пользователей, которых вы хотите создать в Active Directory (обычно эти данные предоставляются из системы учета персонала).
Экспортируйте файл Excel в формат CSV с запятыми в качестве разделителей (Файл> Сохранить как> Тип файла: CSV, Имя файла: new_as_users.csv).
Если вы хотите использовать «;» в качестве разделителя, вам нужно добавить следующий аргумент в командлет Import-CSV -delimiter «;».
Для создания новых пользователей в домене мы будем использовать командлет New-ADUser из модуля Active Directory для Windows PowerShell, поэтому перед запуском скрипта PowerShell убедитесь, что этот модуль установлен на сервере / компьютере, с которого вы выполняете импорт пользователей.
Создайте файл import_ad_users.ps1 со следующим кодом PowerShell (измените имя своего домена и организационную единицу Active Directory, в которой вы хотите создать пользователей):
Import-Module ActiveDirectory $Domain="@theitbros.cpm" $UserOu="OU=Users,OU=UK,DC=theitbros,DC=com" $NewUsersList=Import-CSV "C:\PS\new_as_users.csv" ForEach ($User in $NewUsersList) { $FullName=$User.FullName $Company=$User.company $Department=$User.department $Description=$User.description $givenName=$User.givenName $title=$User.title $City=$User.City $telephoneNumber=$User. telephoneNumber $sAMAccountName=$User.sAMAccountName $sn=$User.sn $userPrincipalName=$User.sAMAccountName+$Domain $userPassword=$User.Password $expire=$null New-ADUser -PassThru -Path $UserOu -Enabled $True -ChangePasswordAtLogon $True -AccountPassword (ConvertTo-SecureString $userPassword -AsPlainText -Force) -CannotChangePassword $False -City $City -Company $Company -Department $Department –title $title –OfficePhone $telephoneNumber -DisplayName $FullName -GivenName $givenName -Name $FullName -SamAccountName $sAMAccountName -Surname $sn -UserPrincipalName $userPrincipalName }
Запись. Options-ChangePasswordAtLogon $ True требует изменения пароля пользователя при первом входе в систему, -CannotChangePassword $ False – позволяет пользователю самостоятельно изменять пароли.
Если вы создаете учетные записи служб, вы можете указать -ChangePasswordAtLogon $ False, -CannotChangePassword $ True.
Запустите скрипт из командной строки PowerShell, затем откройте консоль ADUC и убедитесь, что в указанном подразделении появились новые пользователи.
Как видите, этот скрипт PowerShell позволяет массово импортировать пользователей в Active Directory за несколько минут.
Вы можете удалить или добавить любые атрибуты пользователя в скрипт и файл CSV / Excel из AD.
Полный список доступных пользовательских атрибутов в схеме вашего домена можно отобразить с помощью следующего командлета:
Get-ADUser –identity administrator –filter * -properties *|fl
Поделитесь статьей:
Скрипты выгрузки всех пользователей из MS Active Directory (ITGC)
Скрипты выгрузки всех пользователей из MS Active Directory (ITGC)
Одной из стандартных процедур проведения аудита ITGC для каталога Active Directory является получение выгрузки всех пользователей домена. На основании полученных данных далее формируются процедуры тестирования, к примеру изучение списка администраторов или выявление пользователей с истекшим паролем. Наиболее эффективным для формирования такой выгрузки будет использование стандартного интерфейса PowerShell, примеры которого мы и рассмотрим в данной статье1. Экспресс выгрузка скриптом на PowerShell
Ниже представлен скрипт PowerShell, как один из наиболее простых и быстрых способов получить список всех пользователей домена AD в формате CSV, который без проблем открывается тем же Excel’ем.
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = «LDAP://ou=Users,ou=Departmets,dc=test,dc=ru» $objSearcher.Filter = «(&(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))» $users = $objSearcher.FindAll() # Количество учетных записей $users.Count $users | ForEach-Object { $user = $_.Properties New-Object PsObject -Property @{ Должность = [string]$user. description Отдел = [string]$user.department Логин = [string]$user.userprincipalname Телефон = [string]$user.telephonenumber Комната = [string]$user.physicaldeliveryofficename ФИО = [string]$user.cn } } | Export-Csv -NoClobber -Encoding utf8 -Path С:list_domen_users.csv
Для того что бы скрипт отработал на вашей системе, необходимо его чуть подкорректировать, а именно вписать необходимые параметры, т.е. как в данном примере это параметры Users в подразделении Departments в домене Test.ru. А так же указать путь к месту сохранения файла list_domen_users.csv
После выгрузки, если сразу открыть list_domen_users.csv, будет выглядеть в не читабельном виде, однако, станалртыми средствами мы легко его приведем в нужный нам формат. Открываем в Excel list_domen_users.csv, выделяем первый столбец , затем заходим во вкладку «Данные» и нажимаем «Текст по столбцам». Выбираем «с разделителями» и нажимаем «Далее». Готово!
!Необходимо заметить, что данный скрипт не отобразит более 1000 пользователей. Для небольшой компании вполне подойдет, а тем же у кого в домене огромное количество пользователей стоит прибегнуть к методам описанным ниже.
2. Продвинутый командлет PowerShell для получения выгрузки пользователей Active Directory
Инструмент
К примеру, нас интересует информация о дате смены пароля и времени, когда он истечет. Результат выполнения команды можно выгрузить в текстовый файл:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:tempusers.txt
Или сразу выгрузить в CSV, который в дальнейшем будет удобно экспортировать в Excel (дополнительно с помощью sort-object отсортируем таблицу по столбцу PasswordLastSet , а также добавим условие where – имя пользователя должно содержать строку «Dmitry»)
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | where {$_. name –like “*Dmitry*”} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:tempuser-password-expires-2015.csv
Далее приведем еще несколько полезных вариантов запросов о пользователях Active Directory:
Чтобы подсчитать общее количество всех аккаунтов в Active Directory:
Get-ADUser -Filter {SamAccountName -like «*»} | Measure-Object
Список всех активных (не заблокированных) учетных записей в AD:
Get-ADUser -Filter {Enabled -eq «True»} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table
Список учетных записей с истекшим сроком действия пароля:
Get-ADUser -filter {Enabled -eq $True} -properties passwordExpired | where {$_.PasswordExpired}
Пользователи, которые не меняли свой пароль в течении последних 90 дней:
$90_Days = (Get-Date).adddays(-90)
Get-ADUser -filter {(passwordlastset -le $90_days)}
Заключение
ITGC
audit
control
Windows
script
power
shell
выгрузка
домен
список
пользователи
аудит
тест
test
В пятом выпуске мы расскажем о кибератаках на Pfizer, SolarWinds, а также о масштабных хищениях с помощью изощренных взломов. Новый обзор в нашем Youtube канале!
Поделиться новостью:
Массовый импорт пользователей в Active Directory [RTzRa’s hive]
Этот скриптик поможет в случаях, когда необходимо массово импортировать пользователей.
Опробован на Windows Server 2012R2 + PowerShell, запускать с правами администратора.
MYDOMAIN.RU — Заменить на ваш домен
ОТКЛЮЧЕННЫЕ — заменить на требуемое Подразделение
Кусочек
Set-ADAccountControl $sAMAccountName -PasswordNeverExpires $True
включает для только что созданной учетной записи «Срок действия пароля не ограничен».
В файле Users_import.csv подразумевается наличие следующих строк (пример):
cn,sn,givenName,initials,company,department,description,City,sAMAccountName,userPassword Иванов Петр Матвеевич,Иванов,Метр,М,"ООО ""МояФирма""",Отдел управления,самый главный,МойГород,ivanov.petr,p@ssWorD123 Петров Сидор Владимирович,Петров,Сидор,В,"ООО ""МояФирма""",Аппарат управления,зам. директора,НеМойГород,petrov.sidor,p@ssWorD1234
Сам скрипт User_Import.ps1:
$UserList=IMPORT-CSV "C:\Users_import\Users_import.csv" FOREACH ($Person in $UserList) { $Domain="@MYDOMAIN.RU" $FullName=$Person.cn $Company=$Person.company $Department=$Person.department $Description=$Person.description $givenName=$Person.givenName $initials=$Person.initials $I=$Person.City $sAMAccountName=$Person.sAMAccountName $sn=$Person.sn $userPrincipalName=$Person.sAMAccountName+$Domain $userPassword=$Person.userPassword $expire=$null NEW-ADUSER -PassThru -Path "OU=ОТКЛЮЧЕННЫЕ, DC=MYDOMAIN,DC=RU" -Enabled $True -AccountExpirationDate $expire -ChangePasswordAtLogon $False -AccountPassword (ConvertTo-SecureString $userPassword -AsPlainText -Force) -CannotChangePassword $True -City $I -Company $Company -Department $Department -Description $Description -DisplayName $FullName -GivenName $givenName -Initials $initials -Name $FullName -SamAccountName $sAMAccountName -Surname $sn -Title $Description -UserPrincipalName $userPrincipalName Set-ADAccountControl $sAMAccountName -PasswordNeverExpires $True }
Как экспортировать-CSV объектов Active Directory?
Я пытаюсь получить дамп всех записей пользователей и связанных с ними групп для повторной проверки пользователя ID. Мой офицер Службы безопасности хочет получить его в формате CSV.
Это отлично работает:
Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled,Organization | Sort-Object -Property Name | ConvertTo-CSV
Однако это не включает группы, членом которых является пользователь.
Попытки сделать что-то подобное провалились:
Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled,Organization, @{$_.MemberOf |Get-Group|ForEach-Object {$_.Name}} | Sort-Object -Property Name | ConvertTo-CSV
Это тоже не удалось:
Get-ADUser -Filter * -Properties * | Sort-Object -Property Name | ForEach-Object {
$_ | Format-List -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled
$_. MemberOf | Get-ADGroup | ForEach-Object {$_.Name} | Sort-Object
} | ConvertTo-CSV
Наверное, я упускаю что-то простое.
Любая помощь будет очень признательна.
Спасибо!
powershell
active-directory
Поделиться
Источник
Sean
07 декабря 2010 в 21:47
5 ответов
- Csv сценарий экспорта для пользователей Active Directory
Я извлекаю с помощью своего скрипта пользователей Моего active directory Import-Module ActiveDirectory Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname, DistinguishedName | Export-Csv c: \ users \ administrator \ desktop \ users.csv -notypeinformation -Encoding UTF8 В…
- Active Directory-заполнение уникального ID скриптом
Я хочу заполнить employeeID или uid наших пользователей в Active Directory порядковым номером. Единственное, что я сделал, это экспортировал пользователя в файл CSV: Get-ADUser -Filter mail -like ‘*com’ | Export-Csv ‘C:\ADUser. csv’ -NoType Кто-нибудь знает, как я могу сделать что-то подобное?
8
С сервера Windows OS выполните следующую команду для дампа всего активного директора:
csvde -f test.csv
Эта команда очень обширна и даст вам больше необходимой информации. Чтобы ограничить записи только пользовательскими записями, вместо этого вам нужно:
csvde -f test.csv -r objectClass=user
Вы можете дополнительно ограничить команду, чтобы дать вам только те поля, которые вам нужны, релевантные запрошенному поиску, например:
csvde -f test.csv -r objectClass=user -l DN, sAMAccountName, department, memberOf
Если у вас есть сервер Exchange и каждый пользователь, связанный с живым человеком, имеет почтовый ящик (в отличие от общих учетных записей для рабочих станций киоска / лаборатории), вы можете использовать mailNickname вместо sAMAccountName.
Поделиться
Octavian
20 июня 2012 в 20:56
7
Ибо posterity….I придумал, как получить то, что мне нужно. Вот она на случай, если кому-то еще пригодится.
$alist = "Name`tAccountName`tDescription`tEmailAddress`tLastLogonDate`tManager`tTitle`tDepartment`tCompany`twhenCreated`tAcctEnabled`tGroups`n"
$userlist = Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,Company,whenCreated,Enabled,MemberOf | Sort-Object -Property Name
$userlist | ForEach-Object {
$grps = $_.MemberOf | Get-ADGroup | ForEach-Object {$_.Name} | Sort-Object
$arec = $_.Name,$_.SamAccountName,$_.Description,$_.EmailAddress,$_LastLogonDate,$_.Manager,$_.Title,$_.Department,$_.Company,$_.whenCreated,$_.Enabled
$aline = ($arec -join "`t") + "`t" + ($grps -join "`t") + "`n"
$alist += $aline
}
$alist | Out-File D:\Temp\ADUsers. csv
Поделиться
Sean
09 декабря 2010 в 00:08
5
csvde -f test.csv
Эта команда выполнит дамп CSV каждой записи на вашем сервере Active Directory. Вы должны быть в состоянии видеть полные DN пользователей и групп.
Вам придется пройти через этот выходной файл и избавиться от ненужного содержимого.
Поделиться
Jose Vega
07 декабря 2010 в 21:53
- Powershell скрипт не извлекает определенные поля из active directory?
Я пытаюсь написать сценарий PowerShell, чтобы извлечь информацию о пользователях из Active Directory и экспортировать ее в файл csv. У меня есть один частично работающий, но по некоторым причинам некоторые поля в таблицах возвращаются пустыми, даже если есть данные, которые нужно извлечь?.. .
- Как экспортировать массив динамических объектов JSON в CSV в Angular?
Я пытаюсь экспортировать массив из JSON объектов в CSV, чем может отличаться количество пар ключ-значение (это означает, что некоторые могут иметь дополнительные столбцы, чем rest). В настоящее время я могу экспортировать с помощью пакета Angular2CSV, но он поддерживает только те столбцы, которые…
0
Привет, ты можешь попробовать это…
Попробуй..
$Ad = Get-ADUser -SearchBase "OU=OUi,DC=company,DC=com" -Filter * -Properties employeeNumber | ? {$_.employeenumber -eq ""}
$Ad | Sort-Object -Property sn, givenName | Select * | Export-Csv c:\scripts\ceridian\NoClockNumber_2013_02_12.csv -NoTypeInformation
Или
$Ad = Get-ADUser -SearchBase "OU=OUi,DC=company,DC=com" -Filter * -Properties employeeNumber | ? {$_.employeenumber -eq $null}
$Ad | Sort-Object -Property sn, givenName | Select * | Export-Csv c:\scripts\cer
Надеюсь, это сработает для вас.
Поделиться
Unknown
13 февраля 2013 в 13:11
0
первая команда-это правильно, но менять из преобразования для экспорта в csv, как показано ниже ,
Get-ADUser -Filter * -Properties * `
| Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled,Organization `
| Sort-Object -Property Name `
| Export-Csv -path C:\Users\*\Desktop\file1.csv
Поделиться
user2791583
18 сентября 2013 в 13:05
Похожие вопросы:
Каков правильный regex для имен объектов Active Directory?
Мое приложение создает сайт SharePoint и группу Active Directory из пользовательского ввода. Специальные символы, которые упоминаются в http:/ / www. webmonkey.com / reference/Special_Characters,…
Powershell экспортирует файл csv, содержащий данные группы безопасности active directory
У меня есть bat-файл, который запускает сценарий PS1, сценарий PS1 должен перейти к AD и экспортировать имена, перечисленные в группе безопасности. Он работает нормально и экспортирует нормально,…
Обновление атрибута расширения Active Directory массово с CSV
Я работаю над внесением изменений в более чем 3000 пользователей Active Directory. Каждый из них должен иметь 3 дополнения, внесенные в раздел атрибутов extensionAttribute3, extensionAttribute4 и…
Csv сценарий экспорта для пользователей Active Directory
Я извлекаю с помощью своего скрипта пользователей Моего active directory Import-Module ActiveDirectory Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname,…
Active Directory-заполнение уникального ID скриптом
Я хочу заполнить employeeID или uid наших пользователей в Active Directory порядковым номером. Единственное, что я сделал, это экспортировал пользователя в файл CSV: Get-ADUser -Filter mail -like…
Powershell скрипт не извлекает определенные поля из active directory?
Я пытаюсь написать сценарий PowerShell, чтобы извлечь информацию о пользователях из Active Directory и экспортировать ее в файл csv. У меня есть один частично работающий, но по некоторым причинам…
Как экспортировать массив динамических объектов JSON в CSV в Angular?
Я пытаюсь экспортировать массив из JSON объектов в CSV, чем может отличаться количество пар ключ-значение (это означает, что некоторые могут иметь дополнительные столбцы, чем rest). В настоящее…
Как создать запрос для LDAP (активный каталог) удаленные объекты, поскольку в данный момент времени?
Мне нужно запросить инкрементные изменения из леса Active Directory с помощью LDAP. Самая простая часть-это запрос на инкрементное обновление объектов и создание новых объектов. Для этого вы можете…
Как импортировать данные active directory в массив и экспортировать их в один файл CSV?
Как экспортировать данные active directory (адреса и номера телефонов email) в один файл CSV? Я экспортировал данные Active Directory в массив и экспортировал массив в файл CSV, но файл CSV…
Powershell скрипт Active Directory для экспорта csv с определенной информацией/атрибутами
Мне нужно экспортировать некоторую информацию из active directory. Текущий скрипт powershell успешно получает всю информацию, которую он запрашивает, но я хочу также захватить пользовательский…
Как получить свойства AD для списка общих учетных записей windows?
У меня есть ниже PowerShell команды, с помощью которых я могу получить свойства для всех пользователей в AD.
Import-Module ActiveDirectory
$attributes = 'SamAccountName', 'Name', 'Mail', 'PasswordLastSet', 'Enabled',
'PasswordNeverExpires', 'PasswordExpired'
Get-ADUser -Filter * -Properties $attributes | select $attributes
Если мне нужны свойства для одного конкретного пользователя, я могу использовать приведенный ниже пример в командной строке:
net user /domain testuser
Но как я могу получить свойства AD для данного списка пользователей?
Итак, до сих пор я пробовал ниже, но пока не смог добиться этого, так как он возвращается только для одного пользователя (не знаю, как зациклиться):
Import-Module ActiveDirectory
cd AD:
$Users = gc "C:\AD\accounts. txt"
Get-ADUser -Filter '*' -Properties DisplayName, Office |
? { $Users -contains $_.SamAccountName } |
select DisplayName, Office |
Export-Csv -Path "C:\AD\output\UserProp_14072016.csv" -NoTypeInformation
Я ищу пароль последнего набора, активный или неактивный, владельца этой учетной записи.
Не могли бы вы пожалуйста помочь?
powershell
active-directory
Поделиться
Источник
Satheesh Panduga
14 июля 2016 в 15:34
3 ответа
- Интеграция существующих учетных записей Azure с Azure AD
Моя организация имеет MSDN премиальных подписок, назначенных нашим разработчикам, причем каждый разработчик имеет учетную запись Microsoft, связанную с этой подпиской. Учетные записи Майкрософт, связанной с организацией email адреса, т. е. [email protected] . Некоторые из этих учетных…
- Как отделить пользователей и группы от списка учетных записей AD?
У меня есть список учетных записей, как показано ниже в текстовом файле- AccountName Mahin\user1 Mahin\user2 Mahin\group5 user12 usert1 groupt3 Таким образом, у меня есть около 400 учетных записей (смесь различных пользователей и некоторых групп), как вы можете видеть выше, некоторые учетные. ‘,'(SamAccountName=’ -replace ‘$’,’)’
$Filter = «(|$User_filter)»Get-ADUser -LDAPFilter $Filter -Properties DisplayName,Office
Поделиться
mjolinor14 июля 2016 в 15:57
1Вы можете попробовать следующее:
Import-Module ActiveDirectory $Users = "Get-Content C:\AD\Accounts.txt" Get-ADUser -Filter '*' -Properties DisplayName,Office,PasswordLastSet,LastLogonDate | ? {$Users -contains $_.SamAccountName} | Select DisplayName,Office,PasswordLastSet,LastLogonDate | Export-CSV -Path "C:\AD\output\UserProp_14072016.csv" -NoTypeInformation
Я не знаю конкретного свойства «Active», но вы можете добавить «LastLogonDate» в свойства, чтобы определить, когда учетная запись была в последний раз зарегистрирована.
Кроме того, я не уверен, что вы ищете, когда просите «Owner» учетной записи.
Кстати, для получения списка всех доступных свойств вы можете сделать следующее:
Get-ADUser <username> -Properties *
Возможно, вы сможете найти то, что ищете в списке.
Надеюсь, это поможет.
Поделиться
Robert Blois14 июля 2016 в 15:58
1Получить последний вход в систему в порядке убывания
Import-Module ActiveDirectory Get-ADUser -filter * -properties Displayname, LastLogonDate, SamAccountName, office, PasswordLastSet | select-object Displayname, LastLogonDate,office, SamAccountName, PasswordExpired, PasswordLastSet | Sort LastLogonTime -Descending | Export-csv c:\users.csv -NoTypeInformation
Поделиться
DisplayName14 июля 2016 в 16:35
Похожие вопросы:
Программно получить количество Windows учетных записей пользователей
Мне нужен способ получить список всех учетных записей пользователей на компьютере (Windows), мне нужно получить эту информацию через C# . NET 1.1+2003
Как получить доступ к утверждениям AD FS по учетным данным пользователя?
Поскольку я разрабатываю веб-службу WCF, чтобы сделать посредника между действием входа пользователя в систему и его ролями и разрешениями active directory. Я не хочу, чтобы мое хост-приложение…
Как использовать LINQ в C# для запроса учетных записей локальных пользователей windows
Я хотел запросить windows локальных учетных записей пользователей из C#, используя ADSI. Поскольку используется поставщик WinNt, каталог SEarcher не поддерживается. Я делаю следующее :…
Интеграция существующих учетных записей Azure с Azure AD
Моя организация имеет MSDN премиальных подписок, назначенных нашим разработчикам, причем каждый разработчик имеет учетную запись Microsoft, связанную с этой подпиской. Учетные записи Майкрософт,…
Как отделить пользователей и группы от списка учетных записей AD?
У меня есть список учетных записей, как показано ниже в текстовом файле- AccountName Mahin\user1 Mahin\user2 Mahin\group5 user12 usert1 groupt3 Таким образом, у меня есть около 400 учетных записей. ..
Asp.Net идентификация отдельных учетных записей пользователей с использованием LDAP
Я использую VS 2013 Asp.net 4.5.1 и создал внутреннее приложение webforms, используя опцию индивидуальных учетных записей пользователей для аутентификации. Я хочу использовать LDAP для…
Как добавить ForeignSecurityPrincipals в AD LDS? Приведение «AD пользователей и учетных записей компьютеров» в AD LDS в качестве FSP?
Как добавить ForeignSecurityPrincipals в Active Directory Lightweight Directory Services ( AD LDS ), то есть перенести AD участников безопасности ( пользователей, а также учетные записи компьютеров…
Экспорт списка учетных записей windows из панели управления сервером bitvise SSH
На нашем сервере у нас есть сервер Bitvise SSH, У нас действительно есть более 150 windows учетных записей, с каждой учетной записью был сопоставлен отдельный каталог. Теперь я хочу экспортировать…
Как получить количество включенных и не истекших учетных записей членов группы AD
Мне нужно получить количество учетных записей, которые включены и не истекли из группы AD. Я могу получить включенные учетные записи, но у меня возникли проблемы с теми, срок действия которых истек….
Как получить список учетных записей в android?
Я хочу получить список учетных записей в Android 8.1. Я делаю: Добавить разрешение в манифест: <uses-permission android:name=»android.permission.GET_ACCOUNTS»/> Запрос разрешения от…
Импорт пользователей в Active Directory
Заметка о том, как произвести импорт пользователей в Active Directory с CSV файла при помощи PowerShell.
Периодически могут возникать задачи по созданию группы пользователей и в этом случае есть два пути развития событий: создавать каждый аккаунт в ручном режиме с помощью графических консолей или через PowerShell. Последний вариант является предпочтительным, так как позволит за считанные секунды произвести импорт тысяч новых аккаунтов в директорию или быть частью решения автоматизации. За создание нового пользователя отвечает командлет New-ADUser. Он обладает внушительным набором параметров c которыми можно ознакомится на docs.microsoft.com. Вот пример создания нового пользователя Active Directory:
New-ADUser -Name «Vasia Pupkin» -DisplayName «Vasia Pupkin» -GivenName Pupkin -Surname Pupkin -EmailAddress [email protected] -UserPrincipalName [email protected] -SamAccountName pupkin -Path «CN=Users,DC=corp,DC=ait,DC=in,DC=ua» -AccountPassword (ConvertTo-SecureString «Pa@@w0rd» -AsPlainText -force) -Enabled $true
New-ADUser -Name «Vasia Pupkin» -DisplayName «Vasia Pupkin» -GivenName Pupkin -Surname Pupkin -EmailAddress [email protected] -UserPrincipalName [email protected] -SamAccountName pupkin -Path «CN=Users,DC=corp,DC=ait,DC=in,DC=ua» -AccountPassword (ConvertTo-SecureString «Pa@@w0rd» -AsPlainText -force) -Enabled $true
Это рабочая конструкция создаст одного пользователя с помощью PowerShell, но только одного. Для задач массового импорта, необходимо переписать конструкцию выполнив параметризацию значений, импорт переменных с CSV файла и добавление цикла. Получим следующее:
Import-Csv «C:\temp\users.csv» | ForEach-Object {
$upn = $_.SamAccountName + “@corp.ait.in.ua”
$uname = $_.LastName + » » + $_.FirstName
New-ADUser -Name $uname `
-DisplayName $uname `
-GivenName $_.FirstName `
-Surname $_.LastName `
-EmailAddress $_.EmailAddress`
-UserPrincipalName $upn `
-SamAccountName $_.samAccountName `
-Path $_.OU `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $true
}Import-Csv «C:\temp\users.csv» | ForEach-Object {
$upn = $_.SamAccountName + “@corp.ait.in.ua”
$uname = $_.LastName + » » + $_.FirstName
New-ADUser -Name $uname `
-DisplayName $uname `
-GivenName $_.FirstName `
-Surname $_.LastName `
-EmailAddress $_.EmailAddress`
-UserPrincipalName $upn `
-SamAccountName $_.samAccountName `
-Path $_.OU `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $true
}
где, C:\temp\users. csv — путь к CSV файлу, пример которого можно взять тут.
При необходимости, скрипт возможно добавить новые параметры. Например, —City или —MobilePhone. Сами же данные, необходимо добавить в качестве нового столбца CSV файла. Таким образом, возможно производить массовый импорт пользователей в Active Directory с минимальными издержками.
Если у вас возникли какие-либо вопросы, пожалуйста, пишите в комментарии.
Как экспортировать пользователей из Active Directory
[Обновление]: эта запись в блоге была обновлена 19 марта. 2019
Вам может потребоваться экспорт пользователей из Active Directory в нескольких ситуациях. Хорошие примеры включают миграцию Exchange и создание тестовой среды Exchange. Вы можете себе представить, насколько болезненно было бы выполнять эти задачи вручную, особенно в большой организации. К счастью, пользователей можно легко экспортировать из Active Directory и сохранить в файл CSV (значения, разделенные запятыми). В этой статье я покажу вам, как это сделать. Посмотрите видео ниже, чтобы узнать, как это сделать, и прочтите следующую статью, если хотите узнать больше.
Прежде чем мы начнем, несколько слов о файлах CSV, которые используются для сохранения данных пользователей. Списки, созданные в этом формате файлов, имеют заголовки в первой строке. Эти заголовки соответствуют именам атрибутов пользователей AD. Под заголовками начинается список пользователей, каждая строка для одного пользователя. Атрибуты пользователей расположены так же, как и в заголовках.Важно знать, что не все атрибуты должны быть заполнены. Однако, если вы хотите оставить определенные поля пустыми, вам следует придерживаться порядка из первой строки. Вы можете редактировать файлы CSV, например, блокнот или Excel. Имейте в виду, что Excel в этом случае намного лучше, поскольку он позволяет заполнять сразу несколько полей одним и тем же значением. Кроме того, таблицы намного лучше организуют данные, которые пригодятся.
Ниже у вас есть три различных метода, которые вы можете использовать для экспорта пользователей из Active Directory.Каждый метод приводит к созданию одного и того же файла CSV. Если вы можете использовать PowerShell, мы настоятельно рекомендуем последний метод, так как он самый быстрый.
Экспорт пользователей из Exchange 2003-2019
- Во-первых, вам нужно получить доступ к пользователям и компьютерам Active Directory, выбрав «Пуск»> «Администрирование»> «Пользователи и компьютеры Active Directory»:
- Появится инструмент администрирования AD. Выберите имя своего домена и перейдите в «Пользователи»
- Появится полный список пользователей.Однако есть также группы безопасности и рассылки. Чтобы избавиться от них, используйте фильтры. Вместо того, чтобы показывать все типы объектов, выберите «показывать только следующие типы объектов», отметьте «пользователи» и нажмите кнопку OK.
- Теперь список будет короче. Следующим шагом является выбор атрибутов для экспорта в файл csv. Теперь, какие поля вы выберете, зависит от того, для чего вам нужен файл CSV. Если вы хотите создать пакет миграции, вашему файлу потребуется всего 3 столбца: EmailAddress, Пароль и ForceChangePassword.
Если вы хотите использовать список для создания пользователей в Office 365, вашему CSV-файлу потребуется больше столбцов. В Центре администрирования Office 365 Microsoft предоставляет шаблон со всеми необходимыми заголовками. Нажмите здесь, чтобы скачать его.
Теперь перейдите к просмотру> Добавить / удалить столбцы… - Здесь вы можете выбрать имя и адрес электронной почты для создания пакета миграции или атрибуты, которые вы видите на рисунке выше, если вы хотите массово добавить пользователей в Office 365. Как вы, вероятно, видите, не все атрибуты из ранее упомянутого файла шаблона могут быть перечислены.Вот почему вам нужно будет отредактировать файл CSV вручную. Но перед этим нажмите ОК, чтобы применить изменения.
- Нажав «Экспорт списка» в верхнем меню, вы наконец можете экспортировать своих пользователей. Вам просто нужно назвать новый файл и убедиться, что он сохранен в формате * .csv.
- Если вы откроете файл в Excel, он, вероятно, будет разделен запятыми, но только в один столбец. Чтобы упростить редактирование, используйте функцию «Текст в столбцы» и следуйте указаниям мастера.
- Теперь последний шаг — скопировать данные, которые вы недавно экспортировали в электронную таблицу из шага 4 этого руководства. Помните, что вам не нужно заполнять пустые поля. Если оставить их пустыми, Office 365 сообщит, что эти значения не указаны. Поля, которые не могут быть пустыми: Имя пользователя и Отображаемое имя
- Процесс создания CSV-файла для пакета миграции почти такой же. Вместо 15 заголовков у вас всего 3: EmailAddress, Password и ForceChangePassword.Только поле «Электронная почта» нельзя оставлять пустым, и в случае реализации решения единой регистрации, ForceChangePassword должен иметь значение «false».
Экспорт пользователей из Exchange 2013/2016/2019 или Office 365 с помощью Exchange Admin Center
Если вам нужно экспортировать пользователей из Exchange 2013, Exchange 2016, Exchange 2019 или Office 365, вы также можете использовать Exchange Admin Center. Вам необходимо выполнить следующие действия:
- Войдите в центр администрирования Exchange, перейдите на вкладку получателей, щелкните дополнительные параметры и выберите «Экспорт данных в файл CSV».
- Затем выберите столбцы, которые вы хотите экспортировать в файл CSV, и нажмите «экспорт»:
- Опять же, как и в предыдущем методе, есть свойства, которые вам придется добавить вручную. Если вы хотите подготовить полученный CSV-файл для импорта Office 365, выполните шаги 7–9 из предыдущего метода.
Экспорт пользователей из Active Directory с помощью PowerShell
Есть еще один, гораздо более быстрый способ выполнить задачу заголовка. Вы можете экспортировать пользователей из Active Directory с помощью PowerShell. Приведенный ниже командлет экспортирует полный список пользователей моей компании в файл csv.
Get-ADUser -Filter 'Company-like "Alpha *"' -Properties * | Выберите -Property EmailAddress, GivenName, Surname, DisplayName, Title, Department, Office, OfficePhone, MobilePhone, Fax, StreetAddress, City, State, PostalCode, Country | Export-CSV "C: \\ ADusers.csv" -NoTypeInformation -Encoding UTF8
А теперь краткое пояснение. Командлет Get-ADUser может либо вытащить только одного пользователя из Active Directory, используя параметр –Identity, либо получить сразу несколько пользователей с параметрами –Filter или -LDAPFilter.В этом примере я использую фильтр для экспорта всех пользователей, у которых поле Company AD начинается с «Alpha». Благодаря этому я получу только тех пользователей, которых хочу, без, например, Почтовые ящики здоровья, которые появились бы, если бы я вместо этого использовал «-Filter *».
Командлет создает файл ADusers.csv на диске C. Если вы хотите использовать этот файл для импорта пользователей в Office 365, вам нужно сделать 2 простых шага. Во-первых, вы должны заменить первую строку правильными заголовками из файла, упомянутого в шаге 4 выше.Затем перейдите к редактированию> заменить и удалите все кавычки:
Как видите, PowerShell справляется со своей задачей. Командлет экспортирует все свойства AD, используемые в файле импорта Office 365, поэтому нет необходимости тратить время на копирование и вставку столбцов, как это было в ранее описанных методах.
Результатом всех трех методов является создание файла CSV. Какой метод вы используете, зависит от вашей среды и предпочтений.
См. Также:
Экспорт данных из организационного подразделения Active Directory — Redmondmag.com
Практическое руководство по Active Directory
Экспорт данных из организационной единицы Active Directory
Посмотрите, как экспортировать информацию о пользователях из Active Directory.
- Трой Томпсон
- 14. 01.2015
Будет много раз, когда вам или кому-то еще понадобится список пользователей. Существует множество способов и инструментов, которые можно использовать для экспорта пользователей, но если вы ищете что-то быстрое и легкое без необходимости разработки сложного кода или использования командной строки, консоль Active Directory Users and Computers — это то, что вам нужно. путь идти.Вы сможете экспортировать список из AD, импортировать его в Excel и отсортировать данные примерно за минуту. В этой статье я рассмотрю оснастку Active Directory во встроенной функции экспорта консоли управления Microsoft. Я предполагаю, что на вашем компьютере установлена консоль «Active Directory — пользователи и компьютеры». Если вы этого не сделаете, вы можете загрузить его для Windows 7. Вы также можете выполнить эту функцию с контроллера домена, на котором уже установлена консоль.
Экспорт из консоли Active Directory будет сохранен в формате.txt или .csv по умолчанию. Вы можете экспортировать данные и систематизировать их в формате, который соответствует вашим потребностям. Я часто использую формулы, макросы и функции в Excel для объединения и проверки данных.
Чтобы экспортировать данные, запустите Active Directory — пользователи и компьютеры. Перейдите к доменной структуре подразделения, которое вы хотите экспортировать, и щелкните по нему. В меню выберите значок «Список экспорта» (см. , рис. 1, ). На этом этапе вам нужно будет выбрать, хотите ли вы.csv или .txt, выберите место для файла и назовите его.
[Щелкните изображение, чтобы увеличить.] Рисунок 1. Выбор формата файла.
Данные, экспортируемые с помощью этого метода, будут ограничены полями, показанными на правой панели (см. Рисунок 2 ). Если вы в первую очередь ищете имена учетных записей пользователей, это быстрый и простой способ получить эту информацию.
[Щелкните изображение, чтобы увеличить.] Рисунок 2. Ограниченная информация для экспорта.
В формате .txt ваши данные будут выглядеть примерно так:
Имя Тип Описание
Troy Thompson User Writer
Brien Posey User Director of Metal
Joan Smith User Assistant Director
Madison Tuck User Counselor
McKenzie Cuba User Food ServiceВы можете скопировать и вставить эту информацию прямо в Microsoft Excel или открыть файл.txt в Excel. Самый быстрый способ — скопировать и вставить. Как только данные окажутся в электронной таблице, вы сможете выполнять с ними различные манипуляции. Например, если вы хотите, чтобы имя было в отдельной ячейке, вы можете использовать функцию = LEFT (A2, FIND («», A2,1) -1), чтобы вытащить имя и использовать = RIGHT (A2, LEN (A2) -FIND («», A2,1)) функция для возврата фамилии. Вам придется изменить формулу, чтобы отразить, где находятся данные. Если бы имя Трой Томпсон было в ячейке A3, вы бы просто заменили все экземпляры A2 в формулах на A3. Разделив имя и фамилию, вы можете выполнить сортировку по любому полю по мере необходимости.
Как упоминалось ранее, есть несколько способов получить данные из Active Directory. Метод, который я только что обсудил, вполне исправителен, но он также быстр и эффективен, если вы ищете простой экспорт. Возможно, вы захотите рассмотреть некоторые из этих других методов экспорта данных (некоторые из них являются командной строкой, а другие основаны на графическом интерфейсе):
- Утилита формата обмена данными LDAP (LDIF).Active Directory предоставляет еще один встроенный инструмент для массовых пользовательских операций, который называется LDIFDE. Он имеет больше возможностей и более мощный, чем CSVDE. Он также может изменять и удалять существующие объекты и даже расширять схему Active Directory. Проблема с LDIFDE заключается в том, что необходимый входной файл, который называется файлом LDIF с расширением .ldf, использует более сложный формат, чем простой файл .csv.
Выполнение этой команды экспортирует все подразделения, кроме контроллеров домена, в файл с именем ExportAD.ldf:
ldifde -f exportAD.ldf -s Server1 -d «dc = Export, dc = com» -p subtree -r «(objectClass = organizationUnit)» -l «cn, objectclass, ou» - Csvde — это инструмент командной строки, встроенный в Windows Server 2008 в папке% windir% / system32. Он доступен, если у вас установлена роль сервера Active Directory Domain Services (AD DS) или Active Directory Lightweight Directory Services (AD LDS). Чтобы использовать csvde, вы должны запустить команду csvde из командной строки с повышенными привилегиями. Чтобы открыть командную строку с повышенными привилегиями, нажмите кнопку «Пуск», щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора».Некоторые примеры использования этой команды могут показать вам, как она может стать слишком сложной для начинающего пользователя. В следующем примере данные AD экспортируются в файл с именем search. txt, задается область поиска subtree и перечисляются атрибуты sAMAccountName, CN и различающееся имя для каждого объекта, найденного при поиске:
csvde -f search.txt -p subtree -l SamAccountName, CN, Distinguishname
Поскольку AD основана на стандартах LDAP, вы можете найти множество инструментов, которые могут использовать LDAP.Многие сторонние поставщики выпустили бесплатные или платные инструменты, которые помогут вам в администрировании AD. Если вам нужен быстрый список из подразделения AD, не ищите ничего, кроме консоли «Active Directory — пользователи и компьютеры».
Об авторе
Трой Томпсон проработал в области сетевого администрирования более 25 лет, работая сетевым инженером и администратором Microsoft Exchange в Министерстве обороны, он писал технические статьи, учебные пособия, официальные документы и технические правки.Трой является сертифицированным инструктором Академии Cisco (CCAI) и имеет множество других сертификатов, включая CCNA, MSCE + I, Network +, A + и Security +. Трой также путешествовал по миру, играя музыку в качестве гитариста группы Bride. Контактная информация [электронная почта защищена][решено] Экспорт пользователей С группами в CSV — Active Directory & GPO
Спасибо, Майкл,
Я хочу придерживаться LDIFDE.У меня не было проблем с 4 экспортом, а 3 из 4 операций импорта работали безупречно.
Вот команда, которую я использую для импорта Groups_WITH_Members
ldifde -i -k -f c: \ import \ export_Groups_WITH_Members.ldf -s Bradford-dc -v
Вот образец того, что я не могу импортировать.
dn: CN = администраторы домена, CN = пользователи, DC = DOMAIN, DC = local
changetype: добавить
objectClass: верхний
objectClass: группа
cn: Администраторы домена
описание: Назначенные администраторы домена
участник: CN = SpaceAdmin, OU = Bedford Users, DC = DOMAIN, DC = local
участник: CN = Curt Admin, OU = Bedford Users, DC = DOMAIN, DC = local
участник: CN = Jeff Strehl, OU = Jeffs Test, DC = DOMAIN, DC = local
участник: CN = Naan Hughes, OU = Flex Corp, DC = DOMAIN, DC = local
участник: CN = Exch3K3, CN = Users, DC = DOMAIN, DC = local
участник: CN = Dera Davids, CN = Users, DC = DOMAIN, DC = local
участник: CN = EXCHANGE_SERVICE, CN = Users, DC = DOMAIN, DC = local
участник: CN = SQL_SERVICE, CN = Users, DC = DOMAIN, DC = local
участник: CN = repuser, CN = Users, DC = DOMAIN, DC = local
участник: CN = adminnolock, OU = Без блокировки CTPAT, DC = DOMAIN, DC = local
участник: CN = PamMail, CN = Users, DC = DOMAIN, DC = local
участник: CN = Kerry Archambault, OU = Bedford Users, DC = DOMAIN, DC = local
участник: CN = администратор, CN = пользователи, DC = DOMAIN, DC = local
отличительное имя: CN = администраторы домена, CN = пользователи, DC = ДОМЕН, DC = локальный
instanceType: 4
при создании: 20070715140153. 0Z
при изменении: 20150810114929.0Z
uSN Создано: 12508
член:
CN = Запрещенная группа репликации паролей RODC, CN = Пользователи, DC = DOMAIN, DC = local
memberOf: CN = администраторы, CN = встроенные, DC = DOMAIN, DC = local
uSN Изменен: 14737151
имя: Администраторы домена
objectGUID :: EhtMHckiXUSe88og + p0Giw ==
objectSid :: AQUAAAAAAAUVAAAA5QnuenArmSgRYRtFAAIAAA ==
администратор Количество: 1
sAMAccountName: Администраторы домена
sAMAccountType: 268435456
группа Тип: -2147483646
Категория объекта: CN = Группа, CN = Схема, CN = Конфигурация, DC = ДОМЕН, DC = локальный
isCriticalSystemObject: TRUE
dSCorePropagationData: 20140311195416. 0Z
dSCorePropagationData: 20130924223018.0Z
dSCorePropagationData: 20130924222642.0Z
dSCorePropagationData: 20130924222425.0Z
dSCorePropagationData: 16010101000000.0Z
Powershell: экспорт пользователей Active Directory в CSV
Экспорт пользователей из Active Directory — действительно простая задача, даже если вы не очень знакомы с PowerShell.
Пока у вас есть учетная запись с достаточными разрешениями для чтения из Active Directory, все в порядке.
Давайте рассмотрим несколько нижеприведенных примеров наиболее распространенных сценариев экспорта пользователей рекламы в CSV (и один метод, не использующий PowerShell для людей, которые предпочитают графический интерфейс или просто не любят PowerShell).
Замечание: Перед экспортом учетных записей я рекомендую загрузить БЕСПЛАТНЫЙ пакет администратора для Active Directory, чтобы очистить все ваши неактивные учетные записи пользователей и компьютеров.
Как экспортировать пользователей из Active Directory
Первое, что вам нужно сделать, это открыть сеанс PowerShell либо локально на машине с ролью AD DS (например, контроллер домена), либо установить инструменты удаленного администрирования сервера (RSAT), чтобы модуль Active Directory был доступен.
Связано: Как установить средства удаленного администрирования сервера (RSAT) для Windows 10
Когда дело доходит до экспорта пользователей, у вас есть много вариантов для информации, которую вы хотите экспортировать.У учетных записей пользователей есть множество связанных атрибутов (которые вы можете увидеть, перейдя в Расширение -> Атрибуты в Центре администрирования Active Directory).
Другой способ увидеть доступные для экспорта атрибуты — запустить следующую команду в окне PowerShell:
get-aduser rsanchez -properties *
Теперь, когда вы знаете, что вам нужно, давайте рассмотрим несколько примеров!
Экспорт всех пользователей AD по имени в CSV
Get-ADUser -Filter * -Properties * | Выбрать имя объекта | экспорт-csv -path c: \ temp \ userexport. csv
Эта команда экспортирует все учетные записи пользователей в вашем домене в CSV по их имени. Это означает, что CSV-файл будет содержать список в одном столбце, содержащий имя, отчество и фамилию каждой учетной записи.
«export-csv -path c: \ temp \ userexport.csv» после вертикальной черты (символ |) — это то, что экспортирует данные в CSV. Если вы отбросите этот раздел команды, он просто распечатает результаты в окне PowerShell.
Экспорт всех пользователей AD по имени и дате последнего входа
Если вам нужен список всех имен учетных записей и последней даты, когда учетная запись аутентифицирована в домене, вы можете запустить команду:
Get-ADUser -Filter * -Properties * | Выбрать имя объекта, LastLogonDate | экспорт-csv -path c: \ temp \ userexport.csv
При этом все учетные записи в вашем домене будут экспортированы в таблицу CSV, где имя, отчество и фамилия будут указаны в первом столбце, а LastLogonDate — во втором столбце.
Если вы хотите экспортировать больше атрибутов, вам просто нужно добавить их в раздел Select-Object команды, разделенные запятыми. Например:
Экспорт всех пользователей AD по нескольким атрибутам
Get-ADUser -Filter * -Properties * | Select-Object name, lastlogondate, отдел | экспорт-csv -path c: \ temp \ userexport.csv
Экспорт адресов электронной почты всех пользователей AD
Get-ADUser -Filter * -Properties * | Почта Select-Object | экспорт-csv -path c: \ temp \ userexport.csv
Экспорт всех пользователей AD из определенного OU (организационная единица)
Перед тем, как запустить эту команду, вам необходимо найти атрибут отличительное имя вашего подразделения. Вы найдете это, открыв свойства OU в центре администрирования Active Directory и перейдя в Extensions -> Attribute Editor.
Get-ADUser -Filter * -SearchBase "OU = Research, OU = Users, DC = ad, DC = npgdom, DC = com" -Собственность * | Выбрать имя объекта | экспорт-csv -path c: \ temp \ userexport. csv
На данный момент я уверен, что вы уловили суть. Как я уже сказал, довольно просто!
Нужно импортировать пользователей ?: Solarwinds имеет бесплатный и совершенно простой инструмент импорта пользователей, доступный как часть их пакета администрирования для Active Directory, который я рекомендую попробовать.
Как экспортировать учетные записи пользователей с помощью пользователей и компьютеров Active Directory
Если вы не большой специалист по PowerShell и вам просто нужно получить основную информацию, например:
Имя
Имя для входа пользователя
Тип
Офис
Описание
Адрес сервера связи Office
Адрес электронной почтыТогда вы будете рады узнать, что можете легко экспортировать это через ADUC.Кроме того, это тоже действительно просто! »
Все, что вам нужно сделать, это открыть ADUC, перейти к нужному подразделению и нажать кнопку «Экспорт списка».
При этом все учетные записи в OU будут экспортированы в текстовый файл с разделителями табуляции. Если вы хотите просмотреть данные в форме CSV, просто измените расширение с .txt на .csv (или щелкните правой кнопкой мыши, откройте в Excel и сохраните как CSV).
Хотя этот метод далеко не так гибок, как PowerShell, возможно, это все, что вам нужно.
Рекомендуем вам: Solarwinds Server & Application Monitor (SAM)
Прежде чем пользователи будут жаловаться, знать, у каких приложений возникают проблемы в вашей среде? Знайте, какие системы вызывают эти проблемы? Как насчет того, на каких серверах могут возникнуть проблемы, например нехватка места или памяти?
Автоматизируйте сбор данных и оповещение о ваших приложениях и серверах с помощью Solarwinds Server & Application Monitor , чтобы у вас были эти ответы .
Получите представление об Active Directory, DNS, DHCP, а также о ваших виртуальных средах и приложениях без необходимости возиться со сложными шаблонами или зная ни одной строчки кода.
Получите бесплатную пробную версию здесь
Экспорт пользователей из Active Directory — Powershell и ADUC FREE
Если вы являетесь системным администратором Windows и работаете с Active Directory, вам может потребоваться экспорт учетных записей пользователей из Active Directory в таких случаях, как миграция Exchange и Active Directory.
Вы также можете вручную экспортировать пользователей из Active Directory. Но это будет очень болезненная задача, особенно в крупных организациях, у которых есть сотни пользователей и учетных записей.
Вот где PowerShell снова приходит на помощь!
Вы можете экспортировать пользователей Active Directory с помощью графического интерфейса PowerShell или Active Directory, но с помощью PowerShell вы можете экспортировать всех пользователей Active Directory за считанные секунды!
Кроме того, вы можете объединить Admin Bundle для Active Directory, три бесплатных утилит от SolarWinds, с PowerShell для достижения максимального контроля над экспортом и импортом пользователей Active Directory во время миграции.В этом руководстве мы покажем вам, как экспортировать пользователей Active Directory двумя разными способами, как указано выше!
Давайте прыгнем прямо в это!
Экспорт пользователей AD с помощью PowerShell
Перед началом убедитесь, что вы вошли в учетную запись с достаточными разрешениями для чтения из Active Directory.
Экспорт пользователей из Active Directory — очень простая задача, если вы не знакомы с Active Directory и не используете ее.
В этом разделе мы покажем вам, как экспортировать пользователей из Active Directory с помощью PowerShell.
Список атрибутов пользователей
Пользователи Active Directory имеют множество связанных атрибутов, и вы должны знать все доступные атрибуты перед их экспортом.
Вы можете перечислить все доступные атрибуты для конкретного пользователя, используя следующую команду:
имя пользователя get-aduser -properties *
Например, вы можете увидеть атрибуты пользователя hitesh, выполнив следующую команду в своем терминале PowerShell:
get-aduser hitesh -properties *
Вы должны увидеть все доступные атрибуты на следующем экране:
Экспорт всех пользователей Active Directory по имени в CSV
Вы можете экспортировать всех пользователей AD по имени (имя, отчество и фамилия) в файл CSV с помощью команды Get-ADUser .
Перед экспортом пользователей в CSV вы можете перечислить всех пользователей AD с помощью следующей команды:
Get-ADUser -Filter * -Properties * | Выбрать имя объекта
Вы должны увидеть всех пользователей в следующем выводе:
имя
----
Администратор
Гость
Учетная запись по умолчанию
krbtgt
Hitesh m. jethva
vyom h. jethva
user1
user2
jayesh
rajesh
manish
mitesh
Теперь выполните следующую команду, чтобы экспортировать всех пользователей AD в файл CSV с именем users.csv.
Get-ADUser -Filter * -Properties * | Выбрать имя объекта | экспорт-csv -path c: \ users.csv
Приведенная выше команда экспортирует всех пользователей AD в файл users.csv, расположенный на диске C :.
Вы можете проверить, создан ли users.csv или нет, используя следующую команду:
директ ../../
Пример:
Затем перейдите на диск C: и откройте файл users. csv , как показано ниже:
Экспорт всех пользователей Active Directory по имени и LastLogonDate в CSV
Вы также можете экспортировать всех пользователей AD из вашего домена в файл CSV, указав имя, отчество и фамилию в первом столбце и LastLogonDate во втором столбце.
Во-первых, выведите список всех пользователей AD по имени и LastLogonDate с помощью следующей команды:
Get-ADUser -Filter * -Properties * | Имя объекта Select, LastLogonDate
Затем экспортируйте указанных выше пользователей со всеми подробностями в файл user1.csv , как показано ниже:
Get-ADUser -Filter * -Properties * | Выбрать имя объекта, LastLogonDate | экспорт-csv -path c: \ user1.csv
Пример:
Экспорт всех пользователей Active Directory по имени и электронной почте в CSV
Вы также можете экспортировать всех пользователей AD из вашего домена в файл CSV с указанием имени и адреса электронной почты.
Во-первых, перечислите всех пользователей AD по имени и адресу электронной почты с помощью следующей команды:
get-aduser –filter * -property * | Селект-объект Имя, почта
Затем экспортируйте указанных выше пользователей со всеми подробностями в файл user1.csv , как показано ниже:
Get-ADUser -Filter * -Properties * | Select-Object имя, почта | экспорт-csv -path c: \ user2.csv
Пример:
Экспорт ВСЕХ пользователей Active Directory из определенного OU (организационного подразделения)
Вы также можете экспортировать всех пользователей AD из определенного подразделения в файл CSV.
Например, позволяет получить список всех пользователей AD из подразделений Account и Education, выполнив следующую команду:
Get-ADUser -Filter * -SearchBase "OU = Account, DC = WEBSERVERADC, DC = COM"
Get-ADUser -Filter * -SearchBase "OU = Education, DC = WEBSERVERADC, DC = COM"Вы должны увидеть всех пользователей подразделений Account и Education на следующем экране:
Теперь вы можете экспортировать их в файлы user3. csv и user4.csv, используя следующую команду:
Get-ADUser -Filter * -SearchBase "OU = Account, DC = WEBSERVERADC, DC = COM" | экспорт-csv -path c: \ user3.csv
Get-ADUser -Filter * -SearchBase "OU = Education, DC = WEBSERVERADC, DC = COM" | экспорт-csv -path c: \ user4.csvЭкспорт пользователей с графическим интерфейсом Active Directory
В этом разделе мы покажем вам, как экспортировать пользователей с помощью графического интерфейса Active Directory.
Экспорт всех пользователей из определенного OU
Чтобы экспортировать всех пользователей из Образовательного подразделения, выполните следующие действия:
1 . Откройте «Пользователи и компьютеры Active Directory», как показано ниже.
2 .Щелкните OU Education и нажмите кнопку Export , как показано на верхнем изображении. Вы должны увидеть следующий экран:
3 . Укажите путь и имя файла, который вы хотите сохранить, выберите «Сохранить как тип» в CSV и нажмите кнопку Сохранить , чтобы экспортировать пользователей.
Чтобы экспортировать всех пользователей из OU, выполните следующие действия:
1. Откройте «Active Directory — пользователи и компьютеры», щелкните «Пользователи », «», затем нажмите кнопку «Фильтр , » в верхней части экрана.вы должны увидеть следующий экран:
2 . Выберите Users и нажмите кнопку OK . Вы должны видеть только пользователей в OU Users, как показано ниже:
3 . Нажмите кнопку Export в верхней части экрана. Вы должны увидеть следующий экран:
4 . Укажите путь и имя файла, который вы хотите сохранить, выберите «Сохранить как тип» в CSV и нажмите кнопку Сохранить , чтобы экспортировать пользователей.
Теперь перейдите в папку Documents и щелкните user4.csv , чтобы увидеть всех экспортированных пользователей на следующем экране:
Экспорт всех пользователей Active Directory из домена (из ВСЕХ организационных единиц)
С помощью графического интерфейса Active Directory вы можете экспортировать пользователей только из определенных подразделений или папок.
Если в вашей организации много OU и в каждой OU много пользователей, вам нужно будет экспортировать пользователей из каждой OU по одному.
Чтобы решить эту проблему и выполнить массовый экспорт пользователей, вы можете создать и использовать запрос LDAP для вывода списка всех пользователей из всех подразделений, а затем экспортировать их в файл CSV.
Вы можете выполнить следующие шаги, чтобы экспортировать всех пользователей AD:
1 . Откройте Active Directory Users and Computers, как показано ниже:
2 . Щелкните правой кнопкой мыши сохраненный запрос и нажмите кнопку Новый запрос . Вы должны увидеть следующий экран:
3 . Введите имя вашего запроса и нажмите кнопку Define Query . Вы должны увидеть следующий экран:
4 .Введите запрос LDAP на вкладке Advanced и нажмите кнопку OK . Вы должны увидеть следующий экран:
5 . Нажмите кнопку OK еще раз. Вы должны увидеть всех пользователей на следующем экране:
6 . Нажмите кнопку Export в верхней части экрана. Вы должны увидеть следующий экран:
7 . Укажите путь и имя файла, который вы хотите сохранить, выберите «Сохранить как тип» в CSV и нажмите кнопку Сохранить , чтобы экспортировать пользователей.
Теперь перейдите в папку Documents (или в другое место, где вы сохранили файл) и щелкните allusers. csv , чтобы увидеть всех экспортированных пользователей на следующем экране:
Заключение
В приведенном выше руководстве мы узнали, как экспортировать всех пользователей Active Directory с помощью PowerShell и графического интерфейса Active Directory. Мы надеемся, что вы научились выполнять эту задачу как из PowerShell, так и из Active Directory — пользователи и компьютеры, а также с помощью запроса LDAP!
Когда вам нужно импортировать пользователей, бесплатный пакет Admin Bundle для Active Directory от SolarWinds неоценим.
Приведенные выше шаги должны помочь вам экспортировать всех пользователей AD из всего домена или только из определенного подразделения!
Не стесняйтесь задавать любые вопросы ниже в комментариях, если они у вас есть.
Как мне экспортировать информацию о пользователе Active Directory в файл CSV?
Чтобы экспортировать информацию о пользователях из Active Directory в файл CSV, вам потребуется доступ для запуска инструмента CSVDE на сервере Windows, на котором запущена Active Directory в вашем домене.
Экспорт всей пользовательской информации
Чтобы запустить CSVDE на сервере Windows под управлением Active Directory, откройте командную строку (выберите Пуск> Выполнить , затем введите cmd и нажмите Enter).Введите следующую команду:
csvde -m -f AccountName_mailboxes.txt -r «(& (objectClass = *) (mail = *))» -l objectClass, member, displayName, memberOf, proxyAddresses, legacyExchangeDN, title, phoneNumber, факсимилеTelephoneNumber, mobile, homephone , givenName, компания, userPrincipalName, co, c, physicalDeliveryOfficeName, postalCode, sn, st, streetAddress, title, wWWHomePage, description, l, инициалы, информация, sAMAccountName
Вернуться к началу
Экспорт информации из одной организационной единицы (OU)
Если вы хотите экспортировать только одну организационную единицу (OU), введите следующую команду в командной строке вместо указанной выше.В команде измените поле «OU =, OU =, DC =, DC =, DC =» на правильное OU, в котором хранятся ваши почтовые ящики.
csvde -m -f AccountName_mailboxes.txt -d «OU =, OU =, DC =, DC =, DC =» -r «(& (objectClass = *) (mail = *))» -l objectClass, member , displayName, memberOf, proxyAddresses, legacyExchangeDN, title, phoneNumber, faxsimileTelephoneNumber, mobile, homephone, givenName, company, userPrincipalName, co, c, physicalDeliveryOfficeName, postalCode, sn, st, streetAddress, title, wWWHomePage, description, wWWHomePage, description , sAMAccountName
Вернуться к началу
Определение имени и пути OU
Чтобы получить список ваших организационных единиц, которые можно использовать в команде вместо «OU =, OU =, DC =, DC =, DC =», вы можете ввести следующую команду из окна командной строки:
dsquery ou
Выберите организационную единицу, для которой вы хотите начать экспорт (все суб-единицы также будут экспортированы).Дополнительные сведения см. В этой статье TechNet.
В качестве альтернативы вы можете использовать следующий метод:
- Откройте оснастку «Пользователи и компьютеры Active Directory».
- Найдите подразделение, содержащее пользователей, которых вы хотите экспортировать.
- Начиная с OU нижнего уровня, составьте путь к OU. См. Следующий пример:
В этом примере, если вы хотите импортировать пользователей из OU «test», вы должны заменить «OU =, OU =, DC =, DC =, DC =» в команде на:
«OU = TestAccount, OU = Hosting, DC = exch080, DC = serverpod, DC = net»
Обратите внимание, что мы не обеспечиваем поддержку CSVDE, dsquery или любых других аспектов экспорта данных с вашего сервера.Для получения информации и устранения неполадок см. Утилита обмена каталогами значений, разделенных запятыми (CSVDE).
Вернуться к началу
Как экспортировать активных и неактивных пользователей в AD с помощью PowerShell
Прочтите, чтобы узнать, как просмотреть список активных и неактивных пользователей в отчетах Active Directory (AD) с помощью PowerShell и как это сделать проще с помощью ADManager Plus, комплексного решения для управления Active Directory.
Windows PowerShell
Отчет об активных пользователях:
- Укажите домен, для которого должен быть создан отчет об активных пользователях.
- Создайте и скомпилируйте скрипт для создания отчета об активных пользователях. Выполните сценарий в PowerShell.
- Пример сценария для просмотра и экспорта активных пользователей AD:
Скопировано
PS C: \> Import-module activedirectory
$ DaysInactive = 30
$ time = (Get-Date) .Adddays (- ($ DaysInactive))
Get-ADUser -Filter {LastLogonTimeStamp -gt $ time -and enabled -eq $ true} -Свойства LastLogonTimeStamp | выберите имя объекта, @ {Name = «штамп»; Выражение = {[DateTime] :: FromFileTime ($ _. lastLogonTimestamp) .ToString (‘yyyy-MM-dd_hh: mm: ss’)}} | экспорт-csv C: \ Scripts \ activeusers.csv -notypeinformationНажмите, чтобы скопировать весь скрипт
Отчет о неактивных пользователях:
- Укажите домен, для которого должен быть создан отчет о неактивных пользователях.
- Создайте и скомпилируйте скрипт для создания отчета о неактивных пользователях.Выполните сценарий в PowerShell.
- Пример сценария для просмотра и экспорта отчета о неактивных пользователях AD:
Скопировано
PS C: \> Import-module activedirectory
$ DaysInactive = 30
$ time = (Get-Date) . Adddays (- ($ DaysInactive))
Get-ADUser -Filter {LastLogonTimeStamp -lt $ time -and enabled -eq $ true} -Свойства LastLogonTimeStamp | выберите имя объекта, @ {Name = «штамп»; Выражение = {[DateTime] :: FromFileTime ($ _.lastLogonTimestamp) .ToString (‘yyyy-MM-dd_hh: mm: ss’)}} | экспорт-csv C: \ Scripts \ inactiveusers.csv -notypeinformationНажмите, чтобы скопировать весь сценарий
ADManager Plus
Отчет об активных пользователях:
- Перейдите к Отчеты> Пользовательские отчеты> Пользовательские отчеты> Активные пользователи
- Выберите домен , для которого вы хотите создать отчет об активных пользователях. Нажмите Создать . Вы даже можете экспортировать отчет в формате CSV, PDF, XLSX или HTML.
Скриншот
Отчет о неактивных пользователях:
- Перейдите к Отчеты> Отчеты пользователей> Отчеты о входе в систему> Неактивные пользователи.
- Выберите домен , для которого вы хотите создать отчет о неактивных пользователях. Нажмите Создать . Вы даже можете экспортировать отчет в формате CSV, PDF, XLSX или HTML.
Скриншот
»Начать 30-дневную бесплатную пробную версию
Хотя создание и экспорт пользовательских отчетов с помощью собственных инструментов, таких как PowerShell, кажется простым, он имеет несколько ограничений, например:
- Сценарии PowerShell можно запускать только с компьютеров, на которых установлена роль доменных служб Active Directory.
- Синтаксис, параметры и итерации должны быть правильными. Опечатку или неправильный синтаксис бывает трудно обнаружить и исправить, особенно если сценарий длинный.
- Сценарий необходимо переписать, если необходимо создать отчет за другой период времени.
ADManager Plus помогает вам получать ту же информацию из своей графической веб-консоли с помощью предварительно определенных отчетов, в которых перечислены активные и неактивные пользователи.Кроме того, вы также можете выполнять действия по управлению, такие как изменение, удаление и т. Д., Прямо из отчетов. Отчеты в ADMP также дают вам возможность автоматизировать удаление неактивных учетных записей AD. Узнай больше об этом здесь.
.