День добрый! Снова пришлось к Вам обратиться. Стоит задача посчитать количество активных юзеров(неотключенных) в нескольких группах.
Есть вот такой скрипт, работает, НО....
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
Заранее благодарен за ответ.
Посчитать количество пользователей из списка групп
Re: Посчитать количество пользователей из списка групп
День добрый! Вот готовый скрипт. Рабочий проверенный.
В текстовом файле группы построчно:
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
==================================
не смог отсечь пустые группы и отключенных пользователей в группах....
В текстовом файле группы построчно:
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
==================================
не смог отсечь пустые группы и отключенных пользователей в группах....
Re: Посчитать количество пользователей из списка групп
По идее вот так должно работать:
Код: Выделить всё
# посчитать количество пользователей в группах....
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 ";"