我在ActiveDirectory中创建了一个新的自定义属性。如何在PowerShell中修改它?

时间:2018-01-25 13:27:14

标签: powershell active-directory attributes

我创建了一个新的自定义属性,例如:newattribute1,但是当我想在PowerShell中更改值时,我收到了错误。

Set-ADUser -Identity test1 -newattribute1 123as

错误消息:

Set-ADUser : A parameter cannot be found that matches parameter name
'newattribute1'.
At line:1 char:29
+ Set-ADUser -Identity test1 -newattribute1 123as
+                            ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser

2 个答案:

答案 0 :(得分:1)

您需要修改ADUser对象的副本,然后使用-Instance的{​​{1}}参数写回副本:

Set-ADUser

请参阅Get-Help Set-ADUser

答案 1 :(得分:0)

我总是使用:

Set-ADUser -identity <username> -replace @{CustomAttribute="YourData"}

通过使用替换功能,您可以指定您创建的自定义属性。这是一种更改cmdlet本身无法指定的属性的简单方法。这不仅适用于自定义属性,您可以使用替换功能来处理电话号码等属性。默认情况下,cmdlet不允许您修改任何内容。

从侧面说明,您不能只是像在-newattribute1 123as那样编制要添加到现有cmdlet的参数。