Monday, March 30, 2015

Import Users from Excel (CSV) to SharePoint using PowerShell

Requirement: Got bunch of users and want to add them in to SharePoint? To bulk add users to SharePoint group programmatically using PowerShell, use the below script. This script Imports list of users from Excel .CSV file to SharePoint and adds them into appropriate groups.

Solution: Lets import users from Excel to SharePoint using PowerShell. Here is my CSV file with list of users and their target groups in SharePoint:

sharepoint import users from excel csv

PowerShell script to Import users from CSV to SharePoint 2013:
Add-PSSnapin Microsoft.SharePoint.PowerShell –erroraction SilentlyContinue

#Variables
$UserListCSV = "C:\UsersToImport.csv"
$SiteURL ="http://Sales.Crescent.com"

# Import the CSV file
$UserList = Import-CSV $UserListCSV #-header("GroupName","UserAccount") - If CSV doesn't has headers

#Get the Web
$Web = Get-SPWeb $SiteURL

#Iterate through each user from CSV file
foreach ($user in $UserList)
{
    #Get the Group and User
    $Group = $web.SiteGroups[$User.GroupName]
    $User = $web.Site.RootWeb.EnsureUser($User.UserAccount)
    #Add user to Group
    $Group.AddUser($User) 

    Write-Host "$($User) Added Successfully!" -ForegroundColor Green
}

#Dispose web object
$Web.Dispose()

Import Bulk Users to SharePoint site from CSV file using PowerShell:
My another CSV file has AccountName (in the format of: Domain\UserName and GroupName). 
add user to group powershell sharepoint 2010
PowerShell script to add user to SharePoint group:
Let's add a bit of error handling this time.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Import the List of Users from a .csv file,
$UserList= Import-CSV "C:\UserList.csv"
 
#Get the Web
$web = Get-SPWeb "http://sharepoint.crescent.com/sites/marketing"
 
foreach ($Row in $UserList)
{
  #Get the Group
   $Group = $web.Groups[$Row.GroupName]
 
 #Validate the user name
 try
   {
        $user = $web.Site.RootWeb.EnsureUser($Row.AccountName)
   }
   catch [system.exception]
   {
     write-host $_.Exception.Message
   }
 
   #Add user if valid user name is provided
    if($user -ne $null)
    {
       $Group.AddUser($user)
       write-host $user.AccountName
    }
}

#Dispose the web object
$Web.Dispose()



You might also like:
SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Document SharePoint Farm
Automatically generate SharePoint documentation.
*Sponsored


Check out these SharePoint products:

No comments :

Post a Comment

Please Login and comment to get your questions answered!

You might also like:

Related Posts Plugin for WordPress, Blogger...