Jump to content

Recommended Posts

Posted

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 = ""
}


Posted

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

Posted

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

Posted (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 by Norphy
  • Thanks 1

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 account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...