Đặt cái này ở đây để tham khảo trong tương lai. Tôi đang ở giữa một cuộc di chuyển email. Tôi cần biết từng tài khoản người dùng và thành viên nhóm tương ứng, và tôi cũng cần biết từng nhóm và các thành viên tương ứng.
Tôi đang sử dụng khối mã bên dưới để xuất CSV cho mỗi thành viên nhóm của người dùng.
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 ; `
}
Quá trình xuất khẩu cho các nhóm và các thành viên tương ứng của họ có một chút phức tạp, nhưng các công việc dưới đây. Tên tệp đầu ra bao gồm loại nhóm. Do đó, các nhóm phân phối email tôi cần là / nên là các nhóm Phân phối Toàn cầu và Toàn cầu. Tôi có thể chỉ cần xóa hoặc di chuyển các tệp TXT kết quả mà tôi không cần.
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=""; `
}