我使用New-ADUser cmdlet进行splatting时遇到了问题。我已经能够使用splatting添加所有常规属性,但现在我需要添加扩展属性作为新用户的参数的一部分。
我按如下方式创建数组:
$users = @{ “name” = “fred
“givenName” = “Manfred"
“l” = “lexington”
"extensionAttrbute1" = "Test"}
但是当我运行脚本时,它会给我以下错误:" InvalidArgument", " ParameterBindingException"和#34; NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser"
实际的异常消息是这样的: "找不到与参数名称匹配的参数' extensionAttribute1'" 我实际上可以使用New-ADUSer直接添加extensionAttribute,但是作为数组的一部分添加是可能的问题。我是否需要在数组中以不同的方式为extensionAttribute添加前缀?
谢谢, 比亚内
答案 0 :(得分:0)
获取Get-ADUser
的用户并使用-Properties
参数指定您的extensionAttribute。
然后使用Set-ADUser
设置extensionAttribute:
E.g。
$user = Get-ADUser -Identity $yourIdentity -Properties extensionAttribute1
Set-ADUser –Identity $user -Clear "extensionAttribute1"
Set-ADUser -Identity $user -Add @{ extensionAttribute1 = "your value" }
答案 1 :(得分:0)
来自New-ADUser上的TechNet。可以使用OtherAttributes
参数设置与cmdlet参数无关的属性值。使用此参数时,请确保在属性名称周围放置单引号,如下例所示。
$users = @{
"name" = “fred
"givenName" = “Manfred"
"l" = "lexington"
"OtherAttributes" = @{
'extensionAttrbute1' = "Test"
}
}