|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Выгрузка данных из AD: Группа -> Пользователи |
|
PowerShell - Выгрузка данных из AD: Группа -> Пользователи
|
Новый участник Сообщения: 47 |
Добрый день!
Подскажите пожалуйста в реализации скрипта, который бы выгружал необходимый мне перечень групп с пользователями. Использую такую команду: Get-ADGroupMember -Identity "NameGroup" | Select-Object name | Export-Csv C:\SuperScripts\Group.csv -Encoding UTF8 -Delimiter ";" Но необходимо выполнить таким образом, чтобы можно было добавлять в скрипт любое количество групп и получать CSV следующего формата: ------------------------------------------------------------------------------------------------------ NameGr1 -|- NameGr2 -|- NameGr3 -|- NameGr4 -|- NameGr5 -|- NameGr6 -|- ------------------------------------------------------------------------------------------------------ NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | NameUser | |
|
Отправлено: 13:56, 03-09-2020 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать csv - это строки связанных друг с другом данных, а в вашем примере просто текст столбиками написан
|
Отправлено: 16:21, 03-09-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать Цитата Busla:
Прошу прощения. На выходе нужно получить CSV-файл следующего содержания: "NameGr1";"NameGr2";"NameGr3";"NameGr4";"NameGr5";"NameGr6" "NameUser";"NameUser";"NameUser";"NameUser";"NameUser";"NameUser" "NameUser";"NameUser";"NameUser";"NameUser";"NameUser";"NameUser" "NameUser";"NameUser";"NameUser";"NameUser";"NameUser";"NameUser" "NameUser";"NameUser";"NameUser";"NameUser";"NameUser";"NameUser" |
|
Отправлено: 12:58, 04-09-2020 | #3 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать JimmLight, речь была о том, что табличная форма представления данных - это не рисование по клеточкам
|
Отправлено: 13:32, 04-09-2020 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата JimmLight:
|
||
Отправлено: 16:25, 04-09-2020 | #5 |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Нашёл вот такой скрипт, мало ли кому пригодится. Чуть-чуть подредактировал под себя. #// Start of script #// Get year and month for csv export file $DateTime = Get-Date -f "yyyy-MM" #// Set CSV file name $CSVFile = "C:\AD_Group"+$DateTime+".csv" #// Create emy array for CSV data $CSVOutput = @() #// Get all AD groups in the domain $ADGroups = Get-ADGroup -Filter * -SearchBase "OU=new_group,DC=domain,DC=ns" #// Set progress bar variables $i=0 $tot = $ADGroups.count foreach ($ADGroup in $ADGroups) { #// Set up progress bar $i++ $status = "{0:N0}" -f ($i / $tot * 100) Write-Progress -Activity "Exporting AD Groups" -status "Processing Group $i of $tot : $status% Completed" -PercentComplete ($i / $tot * 100) #// Ensure Members variable is empty $Members = "" #// Get group members which are also groups and add to string $MembersArr = Get-ADGroup -filter {Name -eq $ADGroup.Name} | Get-ADGroupMember | select Name, objectClass, distinguishedName if ($MembersArr) { foreach ($Member in $MembersArr) { if ($Member.objectClass -eq "user") { $MemDN = $Member.distinguishedName $UserObj = Get-ADUser -filter {DistinguishedName -eq $MemDN} if ($UserObj.Enabled -eq $False) { continue } } $Members = $Members + "," + $Member.Name } #// Check for members to avoid error for empty groups if ($Members) { $Members = $Members.Substring(1,($Members.Length) -1) } } #// Set up hash table and add values $HashTab = $NULL $HashTab = [ordered]@{ "Name" = $ADGroup.Name "Category" = $ADGroup.GroupCategory "Scope" = $ADGroup.GroupScope "Members" = $Members } #// Add hash table to CSV data array $CSVOutput += New-Object PSObject -Property $HashTab } #// Export to CSV files $CSVOutput | Sort-Object Name | Export-Csv $CSVFile -Encoding UTF8 -Delimiter ";" #// End of script |
|
Отправлено: 06:34, 07-09-2020 | #6 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Цитата JimmLight:
|
|
------- Отправлено: 13:14, 07-09-2020 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DJ Mogarych, для начальства, как правило.
|
Отправлено: 20:47, 07-09-2020 | #8 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать ...которое и само не знает, зачем это ему в таком виде.
|
------- Отправлено: 21:29, 07-09-2020 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Выгрузка из AD | Tim_user | Скриптовые языки администрирования Windows | 2 | 25-07-2016 11:38 | |
PowerShell - [решено] Выгрузка пользователей из CSV в AD | Hortas | Скриптовые языки администрирования Windows | 4 | 19-05-2016 12:40 | |
PowerShell - [решено] Выгрузка данных о пользователях из AD | Elven | Скриптовые языки администрирования Windows | 5 | 17-12-2015 16:21 | |
VBS/WSH/JS - выгрузка из AD информации пользователя | Uranich | Скриптовые языки администрирования Windows | 1 | 14-02-2013 16:01 | |
Выборочная загрузка и выгрузка данных из формы в таблицу MySQL | dima1981 | Вебмастеру | 8 | 25-08-2008 18:02 |
|