Forum Discussion
Powershell bulk creation - error with UserPrincipalName
- Jan 29, 2022
jensjakobsen1966 The delimeter parameter was not specified and import-csv expects the comma and the delimeter is a semicolon in your sample file. Added the parameter and it should work now 😛
Import-Csv -Path "C:\Users\Jens Jakobsen\users.csv" -Delimeter ';' | ForEach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\Users\Jens Jakobsen\Results.csv"
Hello Harm
The example email you used has been removed by the editor. You have to use the syntax, as I did in my first question.
I tried a one-liner, with no CSV file, and it worked like a charm. Below is the one-liner I used:
New-MsolUser -DisplayName "Lars Larsen" -FirstName Lars -LastName Larsen -UserPrincipalNamelars . larsen @ DOMAIN . dk -UsageLocation DK -LicenseAssignment kvikkastrup:STANDARDPACK
- jensjakobsen1966Jan 28, 2022Brass Contributor
I used the script:
Import-Csv -Path "C:\Users\Jens Jakobsen\users.csv" | ForEach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\Users\Jens Jakobsen\Results.csv"
I received the error:
New-MsolUser : You must provide a required property: Parameter name: UserPrincipalName At line:1 char:64 + ... | ForEach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.Fi ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [New-MsolUser], MicrosoftOnlineException + FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.RequiredPropertyNotSetException,Microsoft.Online.Administration.Automation.NewUser New-MsolUser : You must provide a required property: Parameter name: UserPrincipalName At line:1 char:64 + ... | ForEach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.Fi ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [New-MsolUser], MicrosoftOnlineException + FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.RequiredPropertyNotSetException,Microsoft.Online.Administration.Automation.NewUser
The domain has been accepted (see screendump).
It's really weird, and any help is welcome.
Thanks.
- Jan 29, 2022
jensjakobsen1966 The delimeter parameter was not specified and import-csv expects the comma and the delimeter is a semicolon in your sample file. Added the parameter and it should work now 😛
Import-Csv -Path "C:\Users\Jens Jakobsen\users.csv" -Delimeter ';' | ForEach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\Users\Jens Jakobsen\Results.csv"
- jensjakobsen1966Jan 29, 2022Brass ContributorThanks, the change from semicolon to commas worked. Much appreciated - I felt blind at the end 🙂