Avatar of MilesLogan
MilesLogan
Flag for United States of America asked on

Unable to update custom attribute in AD with powershell

Hi EE

The script below works but when I replace StreetAddress with " custom-attribute1" and update the CSV file with custom-attribute1 as the header ..it does not update it ..  I receive the error below .

Import-module ActiveDirectory
Import-CSV "C:\PS\UpdateField.csv" | % {
$User = $_.UserName
$ID = $_.StreetAddress
Set-ADUser $User -StreetAddress $ID
}



Error:

At C:\PS\UpdateFieldTest.ps1:4 char:15
+ $ID = $_.custom-attribute1
+               ~~~~~~~~~~~~~
Unexpected token '-attribute1' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken
Powershell

Avatar of undefined
Last Comment
MilesLogan

8/22/2022 - Mon
Qlemo

That is because of the dash, which is not allowed as part of names by default. Such a names can brew enclosed in single or double quotes or curly braces.
But that is only half the rent. You need to use a different syntax to set that attribute.
Import-module ActiveDirectory
Import-CSV "C:\PS\UpdateField.csv" | % {
  Set-ADUser $_.UserName -Add @{'custom-attribute1' = $.'custom-attribute1'
} 

Open in new window

MilesLogan

ASKER
Hi Qlemo

thank you ! but I am getting a CurlyBrace

+                                                     ~
Missing closing '}' in statement block.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingEndCurlyBrace
ASKER CERTIFIED SOLUTION
Qlemo

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
MilesLogan

ASKER
Thank you Qlemo ..

I still had an issue with my csv with the dash in the attribute name , so I just modified the header on the sheet and the script to not have a dash and it worked .. thank you much .
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23