Importing New Users into Active Directory with PowerShell Script: A Step-by-Step Guide

Updated On:

Importing New Users into Active Directory with PowerShell Script: A Step-by-Step Guide

Introduction: Streamline user management in Active Directory with ease using a PowerShell script. Discover how to import new users into Active Directory efficiently using a CSV file. This comprehensive guide provides a step-by-step explanation of the script, empowering administrators to automate user provisioning tasks seamlessly.

Script Overview: Learn how to leverage PowerShell’s Active Directory module to import new users into Active Directory effortlessly. This script breakdown demonstrates the process, ensuring a smooth implementation.

Step 1: Import the Active Directory Module: The script begins by importing the essential Active Directory module using the “Import-Module” command. This step grants access to the necessary cmdlets for interacting with Active Directory.

Step 2: Read User Data from CSV: Utilizing the “Import-Csv” cmdlet, the script reads user data stored in a CSV file. By storing the data in the $Users variable, administrators gain easy access to the user details required for creating new accounts.

Step 3: Iterate through Each User: Employing a foreach loop, the script iterates through each user in the CSV file. This allows for seamless creation of multiple user accounts in Active Directory, minimizing manual effort.

Step 4: User Creation Process: Within the loop, the script retrieves data from each field and assigns it to variables. These variables are then used to populate a hashtable, which serves as a container for the necessary parameters required to create a new user account. Parameters include essential details such as SamAccountName, Path, GivenName, Name, DisplayName, UserPrincipalName, AccountPassword, Enabled, ChangePasswordAtLogon, and PasswordNeverExpires.

Step 5: Create New User Account: Leveraging the power of the “New-ADUser” cmdlet, the script creates the new user account in Active Directory. Using splatting, the hashtable’s properties are passed as parameters to the cmdlet, ensuring accurate and efficient user provisioning.

Conclusion: By harnessing the capabilities of PowerShell and the Active Directory module, administrators can streamline the process of importing new users. This guide provides a comprehensive breakdown of the PowerShell script, enabling administrators to automate user provisioning tasks effectively.

Automating the process of importing new users into Active Directory enhances efficiency, reduces manual errors, and frees up valuable time for IT administrators. Customize the script according to your specific requirements and embrace the power of PowerShell to simplify user management in Active Directory.

Unlock the potential of PowerShell and take control of your Active Directory user provisioning tasks with ease. Empower your organization’s IT infrastructure by implementing this user-friendly script.

#Import active directory module for running AD cmdlets
Import-Module activedirectory

#Store the data from ADUsers.csv in the $ADUsers variable
$Users = Import-csv C:\Users\Administrator\Documents\newusersimport.csv

#Loop through each row containing user details in the CSV file 
foreach ($User in $Users) {
    # Read user data from each field in each row
    # the username is used more often, so to prevent typing, save that in a variable

        # create a hashtable for splatting the parameters
        $userProps = @{
            SamAccountName		= $User.SamAccountName                   
            Path			= $User.path
            GivenName			= $User.GivenName 
            Name			= $User.Name
            DisplayName			= $User.DisplayName
            UserPrincipalName		= $User.UserPrincipalName
            AccountPassword        	= (ConvertTo-SecureString $User.Password -AsPlainText -Force) 
            Enabled 			= $true
            ChangePasswordAtLogon 	= $false
            PasswordNeverExpires 	= $true
        }   #end userprops   

         New-ADUser @userProps

    } #end else

 

ad users

 

save the file in csv format and update the csv file path in pawershell script    and save powershell script in adusers.ps1
excute the script in powershell window.
Refresh the active directory and check the new users created in active directory.

Here’s an explanation of the script line by line:

  1. Import-Module activedirectory
    • This line imports the Active Directory module, which is required to run Active Directory cmdlets in PowerShell.
  2. $Users = Import-csv C:\Users\Administrator\Documents\newusersimport.csv
    • This line imports the CSV file “newusersimport.csv” and stores its data in the variable $Users. The CSV file contains the user details for creating new user accounts.
  3. foreach ($User in $Users) {
    • This line starts a foreach loop that iterates through each row (user) in the $Users variable. It performs the following actions for each user.
  4. $userProps = @{
    • This line initializes a hashtable called $userProps, which will store the user properties (parameters) required for creating a new user account.
  5. SamAccountName = $User.SamAccountName Path = $User.path GivenName = $User.GivenName Name = $User.Name DisplayName = $User.DisplayName UserPrincipalName = $User.UserPrincipalName AccountPassword = (ConvertTo-SecureString $User.Password -AsPlainText -Force) Enabled = $true ChangePasswordAtLogon = $false PasswordNeverExpires = $true
  • These lines assign the corresponding values from the CSV file’s fields to the properties in the $userProps hashtable. Each property represents a specific attribute of the new user account, such as the username, path, display name, password, and account settings.
  1. New-ADUser @userProps
  • This line creates a new user account in Active Directory using the “New-ADUser” cmdlet. The “@userProps” syntax uses splatting to pass the hashtable’s properties as parameters to the cmdlet. The cmdlet creates the user account with the specified properties.
  1. } #end else
  • This line marks the end of the foreach loop.

The script reads each row of the CSV file, assigns the user details to variables, creates a hashtable to store the user properties, and then uses the New-ADUser cmdlet to create a new user account in Active Directory with the specified attributes. The process is repeated for each user in the CSV file, allowing for the bulk creation of user accounts.

Follow Us On

Leave a Comment