Forum Discussion
Need a PowerShell Script to add multiple users to Azure Ad using csv file.
- Jun 21, 2023
Step 1: Prepare the CSV File Create a CSV file with the necessary user information. The CSV file should contain columns with headers such as "Username," "FirstName," "LastName," "Password," and any additional attributes you want to include. Here's an example:
Username,FirstName,LastName,Password
user1,John,Doe,Password1
user2,Jane,Smith,Password2Save the file as "users.csv" or any name you prefer.
Step 2: Connect to Azure AD Open PowerShell and install the AzureAD module if you haven't already. Run the following command:
Install-Module -Name AzureAD
Then, connect to Azure AD using the following commands:
Import-Module AzureAD
Connect-AzureADThis will prompt you to sign in to your Azure AD account.
Step 3: Import and Create Users Now, import the CSV file and loop through each row to create users. Here's an example script:
# Import CSV file
$users = Import-Csv -Path "C:\Path\to\users.csv"# Loop through each row and create users
foreach ($user in $users) {
$username = $user.Username
$firstName = $user.FirstName
$lastName = $user.LastName
$password = $user.Password# Create user
$userParams = @{
UserPrincipalName = $username + '@yourdomain.com'
DisplayName = $firstName + ' ' + $lastName
GivenName = $firstName
Surname = $lastName
PasswordProfile = @{
Password = $password
ForceChangePasswordNextSignIn = $true
}
}New-AzureADUser @userParams
}Make sure to replace "C:\Path\to\users.csv" with the actual path to your CSV file.
Step 4: Run the Script Save the PowerShell script with a .ps1 extension, for example, "create-users.ps1". Open PowerShell, navigate to the script's location, and run the script by executing the following command:
.\create-users.ps1
The script will read the CSV file and create users in Azure AD based on the provided information.
Step 1: Prepare the CSV File Create a CSV file with the necessary user information. The CSV file should contain columns with headers such as "Username," "FirstName," "LastName," "Password," and any additional attributes you want to include. Here's an example:
Username,FirstName,LastName,Password
user1,John,Doe,Password1
user2,Jane,Smith,Password2
Save the file as "users.csv" or any name you prefer.
Step 2: Connect to Azure AD Open PowerShell and install the AzureAD module if you haven't already. Run the following command:
Install-Module -Name AzureAD
Then, connect to Azure AD using the following commands:
Import-Module AzureAD
Connect-AzureAD
This will prompt you to sign in to your Azure AD account.
Step 3: Import and Create Users Now, import the CSV file and loop through each row to create users. Here's an example script:
# Import CSV file
$users = Import-Csv -Path "C:\Path\to\users.csv"
# Loop through each row and create users
foreach ($user in $users) {
$username = $user.Username
$firstName = $user.FirstName
$lastName = $user.LastName
$password = $user.Password
# Create user
$userParams = @{
UserPrincipalName = $username + '@yourdomain.com'
DisplayName = $firstName + ' ' + $lastName
GivenName = $firstName
Surname = $lastName
PasswordProfile = @{
Password = $password
ForceChangePasswordNextSignIn = $true
}
}
New-AzureADUser @userParams
}
Make sure to replace "C:\Path\to\users.csv" with the actual path to your CSV file.
Step 4: Run the Script Save the PowerShell script with a .ps1 extension, for example, "create-users.ps1". Open PowerShell, navigate to the script's location, and run the script by executing the following command:
.\create-users.ps1
The script will read the CSV file and create users in Azure AD based on the provided information.
- Jun 21, 2023Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily.
- Ajay_Kumar_GhoseJun 22, 2023Brass Contributor
Hello elieelkarkafi, when i am trying to execute the following command getting this error
New-AzureADUser : Cannot bind parameter 'PasswordProfile'. Cannot create object of type "Microsoft.Open.AzureAD.Model.PasswordProfile". The ForceChangePasswordNextSignIn property
was not found for the Microsoft.Open.AzureAD.Model.PasswordProfile object. The available property is: [Password <System.String>] , [ForceChangePasswordNextLogin
<System.Nullable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]>] , [EnforceChangePasswordPolicy
<System.Nullable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]>]
At line:21 char:17
+ New-AzureADUser @userParams
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-AzureADUser], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.Open.AzureAD16.PowerShell.NewUser
My CSV File looks like this:-
Username FirstName LastName Password
Ommkar16 omm kar16 Ajay#789
akarmurti akar murti Ajay#788
I haven't set UPN as its in script which can be added. Please let me know if you required any further information. Could you please help me on the same. Thanks. Or else let me know if something i am missing- LainRobertsonJun 22, 2023Silver Contributor
The error is telling you that you've incorrectly typed "ForceChangePasswordNextSignIn" when the expected parameter name is "ForceChangePasswordNextLogin".
Cheers,
Lain
- Ajay_Kumar_GhoseJun 21, 2023Brass ContributorI will do that definitely, once test from my environment. Thank you.