In case anyone comes to this down the line...
Get the count and amount of all attributes from a user in AD - use the UI for this.
Once you have the details, then update the script as needed:
$ADusers = Get-ADUser -Filter "objectclass -like 'user'" -Properties *
$output = @()
$userCheckedCount = 0
foreach ($user in $ADusers) {
$userCheckedCount ++
Write-Progress -Activity "Checking user: $($user.name)" -Status "$($userCheckedCount) of $($ADusers.count)" -PercentComplete $($userCheckedCount / $ADusers.count * 100)
$output += [pscustomobject]@{
User = $user.name;
OU = $user.DistinguishedName.Replace(',','.');
Enabled = $user.enabled;
extensionAttribute1 = $user.extensionAttribute1;
extensionAttribute2 = $user.extensionAttribute2;
extensionAttribute3 = $user.extensionAttribute3;
extensionAttribute4 = $user.extensionAttribute4;
extensionAttribute5 = $user.extensionAttribute5;
extensionAttribute6 = $user.extensionAttribute6;
extensionAttribute7 = $user.extensionAttribute7;
extensionAttribute8 = $user.extensionAttribute8;
extensionAttribute9 = $user.extensionAttribute9;
extensionAttribute10 = $user.extensionAttribute10;
extensionAttribute11 = $user.extensionAttribute11;
extensionAttribute12 = $user.extensionAttribute12;
extensionAttribute13 = $user.extensionAttribute13;
extensionAttribute14 = $user.extensionAttribute14;
extensionAttribute15 = $user.extensionAttribute15
}
}
$output | Export-Csv -Path C:\temp\adAttributes.csv -Delimiter ';' -NoTypeInformation