Help with script

%3CLINGO-SUB%20id%3D%22lingo-sub-2928299%22%20slang%3D%22en-US%22%3EHelp%20with%20script%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2928299%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20all%3C%2FP%3E%3CP%3EI%20have%20the%20below%20script.%20What%20i%20am%20trying%20to%20accomplish%20is%20this.%20below.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3COL%3E%3CLI%3E%3CP%3Ecsv%20file%20contains%20list%20of%20users%20(upn)%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3EPowerShell%20script%20reads%20all%20users%20from%20csv%20file%20(step1.)%20does%20a%20compare%20or%20hash%20table%20against%20users%20in%20three%20specific%20OU's%20in%20AD%20using%20(upn).%20The%20three%20specific%20OU's%20contain%20all%20of%20our%20vendor%20accounts%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3EIf%20a%20match%20is%20found%2C%20extend%20account%20expiration%20%2B%2090%20days%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3Eif%20a%20match%20is%20not%20found%20write%20the%20non%20matched%20accounts%20to%20a%20separate%20.csv%20file%3C%2FP%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3EHowever%20i%20am%20getting%20the%20following%20error%3C%2FP%3E%3CP%3E%22%3CSPAN%3EGet-ADUser%20%3A%20Error%20parsing%20query%3A%20'userPrincipalName%20-eq%20%40%3C%2FSPAN%3E%3CA%20href%3D%22mailto%3A%257Buserprincipalname%3DAkhil.Gattu%40mydomain.com%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3E%7Buserprincipalname%3DAkhil.Gattu%40mydomain.com%3C%2FA%3E%3CSPAN%3E%7D.UPN'%20Error%20Message%3A%20'syntax%20error'%20at%20position%3A%20'23'.%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EAt%20line%3A4%20char%3A15%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%2B%20...%20%24u%20%3D%20Get-ADUser%20-Filter%20%22userPrincipalName%20-eq%20%24_.UPN%22%20-Proper%20...%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%2B%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%2B%20CategoryInfo%20%3A%20ParserError%3A%20(%3A)%20%5BGet-ADUser%5D%2C%20ADFilterParsingException%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%2B%20FullyQualifiedErrorId%20%3A%20ActiveDirectoryCmdlet%3AMicrosoft.ActiveDirectory.Management.ADFilterParsingException%2CMicrosoft.ActiveDirectory.Management.Commands.GetADUser%22%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EScript%3C%2FP%3E%3COL%20class%3D%22%22%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%24OUNames%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%22OU%3D1%2COU%3DX%2CDC%3Ddomain%2CDC%3Dtld%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%22OU%3D2%2COU%3DY%2CDC%3Ddomain%2CDC%3Dtld%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%22OU%3D3%2COU%3DX%2CDC%3Ddomain%2CDC%3Dtld%22%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3EImport%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ECsv%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%20C%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3A%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5CJunk%5CAllHands%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Ecsv%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%7C%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3EForEach%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EObject%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%7B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%24u%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EGet%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EADUser%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EFilter%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%22userPrincipalName%20-eq%20%24_.UPN%22%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EProperties%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EAccountExpires%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EdistinguishedName%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3Eif%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%24u%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E)%7B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%24OU%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%20%24u%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EDistinguishedName%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ESubstring%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%24u%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EDistinguishedName%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E).%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EIndexOf%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E'OU%3D'%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%2C%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ESystem%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EStringComparison%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5D%3A%3A%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ECurrentCultureIgnoreCase%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E)%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3Eif%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%24OUNames%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Econtains%20%24OU%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E)%7B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3ESet%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EADAccountExpiration%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EIdentity%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%20%24u%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EdistinguishedName%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EDateTime%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E(%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Edatetime%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5D%3A%3A%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Efromfiletime%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%24_%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Eproperties%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Eaccountexpires%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5D)).%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3EAddDays%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E90%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E)%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%7D%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3Eelse%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%7B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%24_%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%7D%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%7D%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3Eelse%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%7B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%24_%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%7D%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%20class%3D%22%22%3E%7D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E%7C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EExport%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ECsv%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%20C%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3A%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%5CJunk%5CWhoAreThesePeople%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3Ecsv%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3ENoTypeInformation%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2928299%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EWindows%20PowerShell%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2928465%22%20slang%3D%22en-US%22%3ERe%3A%20Help%20with%20script%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2928465%22%20slang%3D%22en-US%22%3EHi%2C%3CBR%20%2F%3EThe%20problem%20might%20be%20the%20way%20you%20are%20getting%20the%20UPN%20value%20and%20the%20single%20quotes%3CBR%20%2F%3E%3CBR%20%2F%3EMaybe%20you%20want%20to%20try%20with%3CBR%20%2F%3E%3CBR%20%2F%3EGet-ADUser%20-Filter%20%22userPrincipalName%20-eq%20'%24_.UPN'%22%3CBR%20%2F%3E%3CBR%20%2F%3EYou%20can%20also%20take%20a%20look%20at%20this%20script%20of%20mine%20where%20I%20do%20a%20similar%20thing%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fget-itips%2FM365EnterpriseDemoCustomizer%2Fblob%2Fdev%2FCustomize-M365EnterpriseDemo.ps1%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fget-itips%2FM365EnterpriseDemoCustomizer%2Fblob%2Fdev%2FCustomize-M365EnterpriseDemo.ps1%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3EDo%20you%20have%20a%20column%20name%20in%20the%20CSV%20named%20csv%20right%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2929072%22%20slang%3D%22en-US%22%3ERe%3A%20Help%20with%20script%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2929072%22%20slang%3D%22en-US%22%3EYes%20its%20upn%20in%20the%20import%20.csv%20file.%20This%20is%20finding%20the%20users%2C%20but%20What%20this%20code%20appears%20to%20be%20doing%20is%20writing%20whatever%20it%20finds%20in%20the%20import%20.csv%20file%20to%20the%20WhoAreThesePeople.csv%20.%20What%20i%20need%20are%20the%20*differences*%20between%20what%20is%20in%20the%20import%20.csv%20file%20and%20what%20is%20found%20in%20the%20OU's%20to%20be%20written%20to%20the%20WhoAreThesePeople.csv%20file%20and%20all%20matching%20accounts%20found%20in%20the%20.csv%20import%20and%20OU's%20should%20have%20their%20accountexpires%20%2B%2090%20days%3CBR%20%2F%3E%3CBR%20%2F%3E%24OUNames%20%3D%20%22OU%3DFMI%2COU%3DCognizant%2COU%3DFM%20Users%2COU%3DCorp%2CDC%3Dip-tech%2CDC%3Dcom%22%2C%20%22OU%3DBPO%20and%20RPA%2COU%3DCognizant%2COU%3DConsultants%2COU%3DUsers%2COU%3DCorp%2CDC%3Dip-tech%2CDC%3Dcom%22%3CBR%20%2F%3EImport-Csv%20C%3A%5Ctemp%5Ctest2.csv%20%7C%3CBR%20%2F%3EForEach-Object%7B%3CBR%20%2F%3Eget-aduser%20-Filter%20%22userPrincipalName%20-eq%20'%24(%24_.upn)'%22%3CBR%20%2F%3Eif%20(%24u)%7B%3CBR%20%2F%3E%24OU%20%3D%20(%20%24u.DistinguishedName.Substring(%24u.DistinguishedName).IndexOf('OU%3D'%2C%5BSystem.StringComparison%5D%3A%3ACurrentCultureIgnoreCase)%20)%3CBR%20%2F%3Eif%20(%24OUNames%20-contains%20%24OU)%7B%3CBR%20%2F%3ESet-ADAccountExpiration%20-Identity%20%24u.distinguishedName%20-DateTime%20(%5Bdatetime%5D%3A%3Afromfiletime(%24_.properties.accountexpires%5B0%5D)).AddDays(90)%3CBR%20%2F%3E%7D%3CBR%20%2F%3Eelse%7B%3CBR%20%2F%3E%24_%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%7D%3CBR%20%2F%3Eelse%20%7B%3CBR%20%2F%3E%24_%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%7D%20%7C%20Export-Csv%20C%3A%5Ctemp%5CWhoAreThesePeople.csv%20-NoTypeInformation%3C%2FLINGO-BODY%3E
Frequent Contributor

Hello all

I have the below script. What i am trying to accomplish is this. below. 

 

  1. csv file contains list of users (upn)

  2. PowerShell script reads all users from csv file (step1.) does a compare or hash table against users in three specific OU's in AD using (upn). The three specific OU's contain all of our vendor accounts

  3. If a match is found, extend account expiration + 90 days

  4. if a match is not found write the non matched accounts to a separate .csv file

However i am getting the following error

"Get-ADUser : Error parsing query: 'userPrincipalName -eq @{userprincipalname=Akhil.Gattu@mydomain.com}.UPN' Error Message: 'syntax error' at position: '23'.
At line:4 char:15
+ ... $u = Get-ADUser -Filter "userPrincipalName -eq $_.UPN" -Proper ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Get-ADUser], ADFilterParsingException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingException,Microsoft.ActiveDirectory.Management.Commands.GetADUser"

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Script

  1. $OUNames = "OU=1,OU=X,DC=domain,DC=tld", "OU=2,OU=Y,DC=domain,DC=tld", "OU=3,OU=X,DC=domain,DC=tld"
  2. Import-Csv C:\Junk\AllHands.csv |
  3. ForEach-Object{
  4. $u = Get-ADUser -Filter "userPrincipalName -eq $_.UPN" -Properties AccountExpires,distinguishedName
  5. if ($u){
  6. $OU = ( $u.DistinguishedName.Substring($u.DistinguishedName).IndexOf('OU=',[System.StringComparison]::CurrentCultureIgnoreCase) )
  7. if ($OUNames -contains $OU){
  8. Set-ADAccountExpiration -Identity $u.distinguishedName -DateTime ([datetime]::fromfiletime($_.properties.accountexpires[0])).AddDays(90)
  9. }
  10. else{
  11. $_
  12. }
  13. }
  14. else {
  15. $_
  16. }
  17. } | Export-Csv C:\Junk\WhoAreThesePeople.csv -NoTypeInformation

 

2 Replies

Hi,
The problem might be the way you are getting the UPN value and the single quotes

Maybe you want to try with

Get-ADUser -Filter "userPrincipalName -eq '$_.UPN'"

You can also take a look at this script of mine where I do a similar thing

https://github.com/get-itips/M365EnterpriseDemoCustomizer/blob/dev/Customize-M365EnterpriseDemo.ps1

Do you have a column name in the CSV named UPN right?

 

Edit: Typo ;)

Yes its upn in the import .csv file. This is finding the users, but What this code appears to be doing is writing whatever it finds in the import .csv file to the WhoAreThesePeople.csv . What i need are the *differences* between what is in the import .csv file and what is found in the OU's to be written to the WhoAreThesePeople.csv file and all matching accounts found in the .csv import and OU's should have their accountexpires + 90 days

$OUNames = "OU=FMI,OU=Cognizant,OU=FM Users,OU=Corp,DC=ip-tech,DC=com", "OU=BPO and RPA,OU=Cognizant,OU=Consultants,OU=Users,OU=Corp,DC=ip-tech,DC=com"
Import-Csv C:\temp\test2.csv |
ForEach-Object{
get-aduser -Filter "userPrincipalName -eq '$($_.upn)'"
if ($u){
$OU = ( $u.DistinguishedName.Substring($u.DistinguishedName).IndexOf('OU=',[System.StringComparison]::CurrentCultureIgnoreCase) )
if ($OUNames -contains $OU){
Set-ADAccountExpiration -Identity $u.distinguishedName -DateTime ([datetime]::fromfiletime($_.properties.accountexpires[0])).AddDays(90)
}
else{
$_
}
}
else {
$_
}
} | Export-Csv C:\temp\WhoAreThesePeople.csv -NoTypeInformation