Получение списка отделов и количества пользователей на отдел в PowerShell

#powershell #windows-server-2019

#powershell #windows-server-2019

Вопрос:

Мне нужно создать отчет из Active Directory. Мне нужно предоставить список всех отделов и численность персонала на отдел. Но сценарий не сработал. У меня Windows server 2019 и powershell 5.1

 Import-Module ActiveDirectory

$Departments = Get-ADUser -Filter * -Property Department | Select-Object -ExpandProperty Department -Unique
Write-Host List of Departments and Number of Users per Department ... -ForegroundColor Green
Write-Host

foreach ($Department in $Departments) {

Write-Host = Users in $Department =amp;gt; (Get-ADuser -Filter * -Property Department | Where-Object {$_.Department -like "$Department"}).count -ForegroundColor yellow
}

Write-Host
Write-Host Total Users in Active Directory : (Get-ADUSer -Filter *).count -BackgroundColor red -ForegroundColor white

Write-Host
$greenCheck = @{
Object = [Char]8730
ForegroundColor = 'Green'
NoNewLine = $true
}

Write-Host "Report on Users and Departments ... " -NoNewline
Start-Sleep -Seconds 1
Write-Host @greenCheck
Write-Host " (Completed)" -ForegroundColor red ```
 

Ответ №1:

это можно сделать в одной строке с помощью Group-Object

 Get-ADUser -Filter {Enabled -eq $True} -Properties Department | Group-Object -Property Department | Select-Object Count,Name | Sort-Object Count -Descending