bulk replace or clear two attributes in Active Directory - (Info and ipPhone)




We need to replace or clear two attributes in Active Directory for many people.

Those attributes are "info" and "ipPhone".


I can use -Clear on an individual user, but am unable to find how to do this in bulk with a CSV.


Set-ADUser -Identity username -Clear info


I can also use -Replace to add information

Set-ADUser -Identity username -Replace @{"info"=("Test1,Test")}


Can someone help me with this?

My CSV would use properties:

sAMAccountName, info, ipPhone


Thanks for any help.







4 Replies
best response confirmed by Denise Child (Contributor)

@Denise Child 

This is the code

$x=import-csv C:\Users\f.malaeb\test1.cvs
$x.ForEach({Set-ADUser $_.sAMAccountName -Clear Info,ipphone})

$x.ForEach({Set-ADUser $_.sAMAccountName -Replace @{info=$;ipPhone=$_.ipPhone}})
Thank you for the quick response @farismalaeb
This helps a lot...I was struggling on how to write this.
I updated the code since the Replace gave an error.

This one works even though it still throws an error.
$x.ForEach({Set-ADUser $_.sAMAccountName -Replace @{info=$;};@{ipPhone=$_.ipPhone}})

Some of my test users had the fields blank and others were filled out. Probably needs error checking?

Here is the error message:
Set-ADUser : replace
At C:\Temp\ADUser_Info_ipPhone_change.ps1:6 char:13
+ $x.ForEach({Set-ADUser $_.sAMAccountName -Replace @{info=$;};@{ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (dc:ADUser) [Set-ADUser], ADInvalidOperationException
+ FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.SetADUser

Can you tell if the error for users with blank fields or not.
I my test I had 2 users only
Yes, if I have nothing in Notes (info) I get the error. If I am simply replacing text in Notes, no error.
Since we only want to clear iPPhone I updated that part line to remove Info.