tri_94 Posted March 17, 2021 Posted March 17, 2021 Hi there I'm trying to get information from AD, I would like to import a list of first name and surnames and get the UPN out. This is what i have so far but doesn't seem to work Thanks $group = Import-csv "D:\test\group1.csv" $Object = New-Object PSObject #Get-AdUser -Filter {givenName -eq 'joe' -and surname -eq 'bloggs'} ForEach($User in $group) { $firstname = $user.givenName $surname = $User.surname $data = Get-AdUser -Filter { givenName -eq $firstname -and surname -eq $surname} | Select-Object GivenName, Surname,UserPrincipalName $Object | add-member "Firstname" $data.GivenName $Object | add-member "Surname" $data.Surname $Object | add-member "UserPrinicpalName" $data.UserPrincipalName $firstname = "" $surname = "" }
Norphy Posted March 17, 2021 Posted March 17, 2021 Try this: $group = Import-csv "D:\test\group1.csv" $UserInfo = "" #Get-AdUser -Filter {givenName -eq 'joe' -and surname -eq 'bloggs'} ForEach($User in $group) { $firstname = $user.givenName $surname = $User.surname $Object = New-Object PSObject $data = Get-AdUser -Filter { givenName -eq $firstname -and surname -eq $surname} | Select-Object GivenName, Surname,UserPrincipalName $Object | add-member "Firstname" $data.GivenName $Object | add-member "Surname" $data.Surname $Object | add-member "UserPrinicpalName" $data.UserPrincipalName $UserInfo = $UserInfo + $Object } $UserInfo | Export-Csv -Path d:\test\output.csv -NoTypeInformation
tri_94 Posted March 17, 2021 Author Posted March 17, 2021 Thanks for that it looks better but i just get "Length 9135 " in the csv ouput and not what I hoped for Many Thanks Try this: $group = Import-csv "D:\test\group1.csv" $UserInfo = "" #Get-AdUser -Filter {givenName -eq 'joe' -and surname -eq 'bloggs'} ForEach($User in $group) { $firstname = $user.givenName $surname = $User.surname $Object = New-Object PSObject $data = Get-AdUser -Filter { givenName -eq $firstname -and surname -eq $surname} | Select-Object GivenName, Surname,UserPrincipalName $Object | add-member "Firstname" $data.GivenName $Object | add-member "Surname" $data.Surname $Object | add-member "UserPrinicpalName" $data.UserPrincipalName $UserInfo = $UserInfo + $Object } $UserInfo | Export-Csv -Path d:\test\output.csv -NoTypeInformation
Norphy Posted March 17, 2021 Posted March 17, 2021 (edited) OK, try this instead. Just looking back at one of my scripts where I'm using the same method you're using there.. Try this instead: $group = Import-csv "D:\test\group1.csv" $UserInfo = @() $Users = Get-AdUser -Filter * | Select-Object GivenName, Surname,UserPrincipalName #Get-AdUser -Filter {givenName -eq 'joe' -and surname -eq 'bloggs'} ForEach($User in $group) { $data = $Users | where-object {$_.givenName -eq $user.givenName -and $_.surname -eq $User.surname} $Object = New-Object -TypeName System.Object $Object | add-member -MemberType NoteProperty -name "Firstname" -value $data.GivenName $Object | add-member -MemberType NoteProperty -name "Surname" -value $data.Surname $Object | add-member -MemberType NoteProperty -name "UserPrinicpalName" -value $data.UserPrincipalName $UserInfo = $UserInfo + $Object } $UserInfo | Export-Csv -Path d:\test\output.csv -NoTypeInformation Edited March 17, 2021 by Norphy 1
tri_94 Posted March 17, 2021 Author Posted March 17, 2021 Brill looks like that's working.. Many thanks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now