Посчитать количество пользователей из списка групп

Обсуждаем проблемы программирования
Ответить
Scrat2005
Сообщения: 17
Зарегистрирован: Вс окт 11, 2020 2:28 pm

Посчитать количество пользователей из списка групп

Сообщение Scrat2005 »

День добрый! Снова пришлось к Вам обратиться. Стоит задача посчитать количество активных юзеров(неотключенных) в нескольких группах.
Есть вот такой скрипт, работает, НО....
cls
$someFile = "C:\Reports\IN-USER_Group.txt" # в списке 104 группы
$Groups = Get-Content -Path $someFile -Encoding UTF8
foreach ($Group in $Groups) {
(Get-ADGroup $Group -Properties *).Member.Count # Get-Aduser -Filter {Enabled -eq $True} - как его добавить в скрипт???
}

результат выводит вот такой:
13
234
18
104
и т.д.
как сделать,чтобы показывало вот так:
Группа1 - 13
Группа2 - 234
Группа3 - 18
Группа4 - 104
Заранее благодарен за ответ.
Scrat2005
Сообщения: 17
Зарегистрирован: Вс окт 11, 2020 2:28 pm

Re: Посчитать количество пользователей из списка групп

Сообщение Scrat2005 »

День добрый! Вот готовый скрипт. Рабочий проверенный.
В текстовом файле группы построчно:
in-ca
in-cw
in-bd
=================================================================================================================
# посчитать количество пользователей в группах....
cls
$Groups = Get-Content c:\Reports\IN-USER_Group.txt -Encoding UTF8
$Results = ForEach ($Group in $Groups)
{
[PSCustomObject]@{
Name = $Group
Count = Get-ADGroupMember $Group -Recursive | Select Name -Unique | Measure-Object | Select -ExpandProperty Count
}
}
$Results | Export-Csv c:\script\Results_inuser.csv -NoTypeInformation -Encoding UTF8 -Delimiter ";"

==================================================================================================================
на выходе получаем:
in-ca - 146
in-cw - 82
in-bd - 0
==================================
не смог отсечь пустые группы и отключенных пользователей в группах....
Аватара пользователя
sanglyb
Site Admin
Сообщения: 49
Зарегистрирован: Вт сен 19, 2017 9:32 pm

Re: Посчитать количество пользователей из списка групп

Сообщение sanglyb »

По идее вот так должно работать:

Код: Выделить всё

# посчитать количество пользователей в группах....
cls
$Groups = Get-Content c:\Reports\IN-USER_Group.txt -Encoding UTF8
$Results = ForEach ($Group in $Groups)
{
[PSCustomObject]@{
Name = $Group
Count = Get-ADGroupMember $Group -Recursive | get-aduser | where-object {$_.Enabled -eq $true} | select Name | measure-object | select -ExpandProperty Count
}
}
$results = $results | where-object {$_.Count -gt 0}
$Results | Export-Csv c:\script\Results_inuser.csv -NoTypeInformation -Encoding UTF8 -Delimiter ";"
Ответить