jasonaluke
asked on
get-aduser returns Microsoft.ActiveDirectory.Management.ADPropertyValueCollection
What is wrong with this script? It returns "Microsoft.ActiveDirectory .Managemen t.ADProper tyValueCol lection" for the Dept value.
Import-Module Activedirectory
$users = get-aduser -SearchBase "OU=xxx,DC=us,DC=xxx,DC=co m" -Properties userPrincipalName,departme ntNumber -filter {userPrincipalName -like "*"}
$csv = foreach($user in $users){
$grp = get-adprincipalgroupmember ship $user
Foreach($group in $grp){
New-Object -TypeName PSObject -Property @{
Dept = $user.departmentNumber
User = $user.SamAccountName
Group = $group.Name
}
}
}
$csv | Export-csv C:\Users\me\Documents\All_ Users.csv
Import-Module Activedirectory
$users = get-aduser -SearchBase "OU=xxx,DC=us,DC=xxx,DC=co
$csv = foreach($user in $users){
$grp = get-adprincipalgroupmember
Foreach($group in $grp){
New-Object -TypeName PSObject -Property @{
Dept = $user.departmentNumber
User = $user.SamAccountName
Group = $group.Name
}
}
}
$csv | Export-csv C:\Users\me\Documents\All_
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Simply adding the [0] was the solution.
Thanks
Final script was:
Import-Module Activedirectory
$users = get-aduser -SearchBase "OU=xxx,DC=us,DC=xxx,DC=co
$csv = foreach($user in $users){
$grp = get-adprincipalgroupmember
Foreach($group in $grp){
New-Object -TypeName PSObject -Property @{
Dept = $user.departmentNumber[0]
User = $user.SamAccountName
Group = $group.Name
}
}
}
$csv | Export-csv C:\Users\me\Documents\All_