Menempatkan ini di sini untuk referensi di masa mendatang. Saya sedang berada di tengah-tengah migrasi email. Saya perlu mengetahui setiap akun pengguna dan keanggotaan grup masing-masing, dan juga saya perlu tahu setiap grup dan anggota masing-masing.
Saya menggunakan blok kode di bawah ini untuk menghasilkan CSV untuk keanggotaan grup setiap pengguna.
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 ; `
}
Proses ekspor untuk grup dan anggota masing-masing sedikit berbelit-belit, tetapi di bawah ini berfungsi. Nama file keluaran termasuk jenis grup. Oleh karena itu, grup distribusi email yang saya butuhkan adalah / harus menjadi grup Distribusi Universal dan Global. Saya seharusnya bisa menghapus atau memindahkan file TXT yang dihasilkan yang tidak saya butuhkan.
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=""; `
}