This queries for specific users (modify this to match your need)
Taking a list of users Flatten-Object will go through their properties and join multivalued attributes with a semi-colon so that you can export it in a useful way to CSV.
# Change this to and LDAP filter that fits your needs
$admins = Get-ADUser -filter "employeeType -eq 'Administrator Acct'" -Properties *
# take multivalued properties and join them with ;
function Flatten-Object {
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline)]
$object
)
process {
$flattened_object = [pscustomobject]@{}
foreach ($field in $object | get-member) {
if ($field.MemberType -eq “Property” -and $field.Name -notlike “__*”) {
$flattened_object | Add-Member -NotePropertyName $field.Name -NotePropertyValue $($object.$($field.Name) -join ";")
}
}
$flattened_object
}
}
$admins | Flatten-Object | Export-Csv -Path "user.csv" -NoTypeInformation