【问题标题】:PowerShell - Error Changing AD AttributesPowerShell - 更改 AD 属性时出错
【发布时间】:2020-09-28 16:07:19
【问题描述】:

运行 PowerShell 脚本来更新用户属性。我正在使用测试用户开始,但一切似乎都符合要求。我尝试将列表文件同时作为 Excel 和 CSV 并得到相同的错误。为简单起见,我尽可能地将数据与 AD 属性匹配。我错过了一些东西,但看不到它在哪里。

Excel\CSV 数据:

PowerShell 代码:

$users2 = import-excel "c:\orgstafflist2.xlsx"
foreach ($user in $users2) {get-aduser -filter "SamAccountName -eq '$($user.samaccountname)'" | set-aduser -displayname $($user.name) -surname $($user.last) -givenname $($user.first) -replace @{manager=$($user.manager)} -description $($user.description)}

错误信息:

set-aduser : The name reference is invalid
At line:1 char:97
+ ... ntname)'" | set-aduser -displayname $($user.displayname) -surname $($user.la ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (CN=John Doe,OU=...riese,DC=office:ADUser) [Set-ADUser], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8373,Microsoft.ActiveDirectory.Management.Commands.SetADUser

【问题讨论】:

  • 您不能将manager 属性设置为任意字符串,例如“Jane Doe” - 它必须是对目录中现有对象的引用。

标签: powershell active-directory


【解决方案1】:

第一个问题是您尝试使用名称错误引用的显示名称列。第二个问题是您需要为经理提供一个 AD 用户专有名称。

$users2 = import-excel "c:\orgstafflist2.xlsx"
foreach ($user in $users2)
{
    get-aduser -filter "SamAccountName -eq '$($user.samaccountname)'" |
        set-aduser -displayname $($user.displayname) -surname $($user.last) -givenname $($user.first) -replace @{manager = $(get-aduser $user.Manager).distinguishedname} -description $($user.description)
}

您还应该考虑喷溅以提高可读性。

$users2 = import-excel "c:\orgstafflist2.xlsx"
foreach ($user in $users2)
{
    $UserParam = @{
        displayname = $user.displayname
        surname = $user.last
        givenname = $user.first
        replace = @{manager = (get-aduser $user.Manager).distinguishedname}
        description = $user.description
    }
    get-aduser -filter "SamAccountName -eq '$($user.samaccountname)'" | set-aduser @UserParam
}

【讨论】:

  • 谢谢!!!实际上,我在发布此内容后发现了一些问题,但您是对的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2020-09-03
  • 1970-01-01
  • 2018-09-12
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多