59 lines
2.0 KiB
PowerShell
59 lines
2.0 KiB
PowerShell
Import-Module ActiveDirectory -ErrorAction Stop
|
|
|
|
# --- Állítsd be a csoport e-mail címét vagy nevét ---
|
|
$groupEmail = "abteilungsleitungen-jenfeld@aps-hh.de"
|
|
$out = "C:\Tools\group_members.csv"
|
|
|
|
# --- Csoport objektum lekérése az e-mail cím alapján ---
|
|
$group = Get-ADGroup -Filter "mail -eq '$groupEmail'" -Properties mail
|
|
|
|
if (-not $group) {
|
|
Write-Host "Nem található csoport ezzel az e-mail címmel: $groupEmail" -ForegroundColor Red
|
|
exit
|
|
}
|
|
|
|
Write-Host "Csoport megtalálva: $($group.Name) ($($group.DistinguishedName))"
|
|
|
|
# --- Csoporttagok lekérése ---
|
|
$members = Get-ADGroupMember -Identity $group.DistinguishedName -Recursive | Where-Object { $_.ObjectClass -eq 'user' }
|
|
|
|
if (-not $members) {
|
|
Write-Host "Nincsenek felhasználók a csoportban vagy nincs jogosultság a lekérdezéshez." -ForegroundColor Yellow
|
|
exit
|
|
}
|
|
|
|
# --- AD-felhasználói adatok lekérése ---
|
|
$Results = $members | ForEach-Object {
|
|
Get-ADUser -Identity $_.SamAccountName -Properties mail,telephoneNumber,mobile,fax,physicalDeliveryOfficeName,department,title,Enabled |
|
|
Select-Object @{
|
|
Name='Name';Expression={$_.Name}
|
|
}, @{
|
|
Name='SamAccountName';Expression={$_.SamAccountName}
|
|
}, @{
|
|
Name='Mail';Expression={$_.mail}
|
|
}, @{
|
|
Name='Telephone';Expression={$_.telephoneNumber}
|
|
}, @{
|
|
Name='Mobile';Expression={$_.mobile}
|
|
}, @{
|
|
Name='Fax_business';Expression={$_.fax}
|
|
}, @{
|
|
Name='Office';Expression={$_.physicalDeliveryOfficeName}
|
|
}, @{
|
|
Name='Department';Expression={$_.department}
|
|
}, @{
|
|
Name='Title';Expression={$_.title}
|
|
}, @{
|
|
Name='Enabled';Expression={$_.Enabled}
|
|
}
|
|
}
|
|
|
|
# --- Export CSV ---
|
|
$Results | Export-Csv -Path $out -NoTypeInformation -Encoding UTF8
|
|
|
|
# --- Konzolos megjelenítés ---
|
|
$Results | Format-Table Name,SamAccountName,Mail,Telephone,Mobile,Fax_business,Office,Department,Title,Enabled -AutoSize
|
|
|
|
Write-Host "`nCsoport: $($group.Name)"
|
|
Write-Host "Kimenet: $out ($($Results.Count) felhasználó)" -ForegroundColor Green
|