Exchange 2010 Grupy dystrybucyjne usunięcie wylaczonych kont AD

Kiedyś pisaliśmy na temat usunięcia wyłączonych skrzynek z grup dystrybucyjnych. Problem w tym, że czasami potrzebujemy usunąć z grup dystrybucyjnych konta użytkowników którzy mają zablokowane konto w Active Directory.

Możemy to zrobić w prosty sposób używając Exchange Management Shell oraz poniższego zapytania:

$groups = Get-DistributionGroup -ResultSize Unlimited
$report = foreach($group in $groups){
 Get-DistributionGroupMember $group |
 ?{$_.RecipientType -like '*User*' -and $_.ResourceType -eq $null} |
 Get-User | ?{$_.UserAccountControl -match 'AccountDisabled'} |
 Select-Object Name,RecipientType,@{n='Group';e={$group}}
}
$report | Export-CSV d:\scripts\disabled_group_members.csv -NoType

Continue reading

Grupy dystrybucyjne – raport

Aby wiedzieć co się dzieje w grupach dystrybucyjnych na przestrzeni czasu, możemy utworzyć skrypt, który będzie sprawdzał członkowstwo w grupach i zapisywał wynik do pliku.

Na początku określamy czy chcemy sprawdzić wszystkie dostępne grupy czy może chcemy jest wskazać np.: podając je w pliku.

aby pobrać grupy z pliku użyjemy:

$DLs = get-content d:\scripts\DLgroups.txt

natomiast jeżeli chcemy mieć wszystkie dostępne grupy:

$DLs = get-distributiongroup -resultsize unlimited | select name
foreach ($dl in $DLs){
 if (!(get-distributiongroup $dl)){
 Write-Host "$dl is not valid"
 } else {
 $dl_tmp = get-distributiongroup $dl
 $outfile = "d:\scripts\DL_$($dl_tmp.name)_.txt"
 Add-Content $outfile get-Date
 Add-Content $outfile "$($dl_tmp.name) $($dl_tmp.SMTPAddress)" 
 Add-Content $outfile "Members"
 Add-Content $outfile "Alias;Displayname;Company;Title;emailaddress"
 $members = get-distributiongroupmember $($dl_tmp.alias)

 foreach ($member in $members){
 $user = $member.alias + ";" + $member.DisplayName + ";" + $member.Company + ";" + $member.Title + ";" + $member.primarysmtpaddress.local + "@" + $member.Primarysmtpaddress.domain 
 Add-Content $outfile $user
 }
 } 
}

Dzięki temu otrzymamy osobny plik dla każdej z grup wraz z listą jej członków.