我在 ActiveDirectory 中创建了一个新的自定义属性。如何在 PowerShell 中修改它?
Posted
技术标签:
【中文标题】我在 ActiveDirectory 中创建了一个新的自定义属性。如何在 PowerShell 中修改它?【英文标题】:I created a new custom attribute in ActiveDirectory. How can I modify it in PowerShell? 【发布时间】:2018-01-25 13:27:14 【问题描述】:我创建了一个新的自定义属性,例如:newattribute1,但是当我想在 PowerShell 中更改值时,出现错误。
Set-ADUser -Identity test1 -newattribute1 123as
错误信息:
Set-ADUser : 找不到与参数名称匹配的参数 '新属性 1'。 在行:1 字符:29 + 设置 ADUser -Identity test1 -newattribute1 123as + ~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Set-ADUser], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser【问题讨论】:
@Nick - 请不要回答 cmets 中的问题;建议将其作为答案,并参考相关文档。 【参考方案1】:我总是用:
Set-ADUser -identity <username> -replace @CustomAttribute="YourData"
通过使用替换功能,您可以指定您创建的自定义属性。这是一种更改 cmdlet 本身无法指定的属性的简单方法。这不仅适用于自定义属性,您还可以对电话号码等属性使用替换功能。默认情况下 cmdlet 不允许您修改的任何内容。
附带说明一下,您不能像使用-newattribute1 123as
那样只编写参数以添加到现有 cmdlet。
【讨论】:
【参考方案2】:您需要修改ADUser
对象的副本,然后使用Set-ADUser
的-Instance
参数写回副本:
$user = Get-ADUser -Identity $samaccountname -Properties *
$user.YourCustomAttribute = $NewCustomAttributeValue
Set-ADUser -Instance $User
见Get-Help Set-ADUser
。
【讨论】:
以上是关于我在 ActiveDirectory 中创建了一个新的自定义属性。如何在 PowerShell 中修改它?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 ngfor 指令不起作用,尽管我在 Typescript 类中创建了正确的对象
我在 SQL Plus 中创建了触发器而没有错误,但它不起作用
我在 Flutter 中创建了一个 android 通知 channel_id,但是,将 FCM 发送到该通道不会导致振动或声音
我在 Python 中创建了商店计算器,但它有一些错误 [关闭]