All Collections
Integrations
People, AD and Powershell
People, AD and Powershell
How to use People to update your AD using Powershell
Sarah Mills avatar
Written by Sarah Mills
Updated over a week ago

Please note this article is an advanced article designed to be used by technical teams who have understanding of using Powershell and have access to a test server environment.

People cannot update your AD directly with changes to certain attributes such as job titles - this is because you would need to

  • a) open up your AD over the internet so our servers could see it

  • b) provide us with your administrator level passwords

The safe implementation of updating your AD is to use the following technique, which runs on your servers:

  • a) use the People API or Query tool to generate a list of attributes that need to be updated to your AD

  • b) use Powershell to update your AD

We've documented how to use our API and Query to get data out:

What's not always clear is how to program the Powershell script so we've helped and put an example script together which is attached within the link below:

The script takes a CSV file (which you will have generated using our API or the Query).

Row 1: "Action","FirstName","LastName","EmailAddress"

Action column should contain one of the following values

Add

Update

Delete

The Script makes a search in the AD based on EmailAddress field.

At the top of the script, there are 2 variables, which you should modify according to your environment:

$OuPath ="";

$UsersCsvPath ="C:\Users\Administrator\Desktop\ADUserManager\ADUsers.csv"

$OUPath can contain the value of Organizational Unit in AD, where you want to create the users. A sample OU path looks like

"OU=divHost,DC=SP2,DC=local"

If OU path is not mentioned, Users would be created inside 'Users' container in AD.

$UsersCsvPath should contain CSV file path, which contains users details.

You can modify the script to add additional attributes or remove those that you do not want to process.

Thanks, 

Customer Services.

Did this answer your question?