Bunu ileride başvurmak üzere buraya koymak. Bir e-posta taşıma işleminin ortasındayım. Her bir kullanıcı hesabını ve ilgili grup üyeliğini ve ayrıca her bir grubu ve ilgili üyelerini de bilmem gerekiyor.
Her kullanıcının grup üyeliği için bir CSV çıktısı için aşağıdaki kod bloğunu kullanıyorum.
Get-ADUser -Filter * |`
ForEach-Object { `
$FileName = $_.SamAccountName + ".csv" ; `
$FileName ; `
Get-ADPrincipalGroupMembership $_ | `
Select-Object -Property SamAccountName, name, GroupScope, GroupCategory | `
Sort-Object -Property SamAccountName | `
Export-Csv -Path $FileName -Encoding ASCII ; `
}
Gruplar ve ilgili üyeleri için ihracat süreci biraz kıvrılmış, ancak aşağıdaki işler yapılmıştır. Çıktı dosya adları grubun türünü içerir. Bu nedenle, ihtiyacım olan e-posta dağıtım grupları Evrensel ve Global Dağıtım grupları olmalıdır / olmalıdır. İhtiyacım olmayan sonuçtaki TXT dosyalarını silebilir veya taşıyabilirim.
Get-ADGroup -Filter * | `
Select-Object -Property Name, DistinguishedName, GroupScope, GroupCategory | `
Sort-Object -Property GroupScope, GroupCategory, Name | `
Export-Csv -Path ADGroupsNew.csv -Encoding ASCII
$MyCSV = Import-Csv -Path .\ADGroupsNew.csv -Encoding ASCII
$MyCSV | `
ForEach-Object { `
$FN = $_.GroupScope + ", " + $_.GroupCategory + ", " + $_.Name + ".txt" ; `
$FN ; `
Get-ADGroupMember -Identity $_.DistinguishedName | `
Out-File -FilePath $FN -Encoding ASCII ; $FN=""; `
}