更改多个用户的 EmployeeID 时出现问题

问题描述 投票:0回答:1

我们正在尝试做一些非常简单的事情,即为多个用户更改

EmployeeID
,但遇到了一些问题。

我们有一个变量

$ke
,其中包含:

EmployeeID  Employee
00000122    username1
00000100    username2

我们正在尝试将

EmployeeID
更新为:

$username = $ke.Employee
foreach($user in $username) {
   Set-ADUser $user -EmployeeID "$ke.EmployeeID"
}

但它因以下错误而失败:

Set-ADUser:属性值不在可接受的值范围内
行:2 字符:4
设置-ADUser $user -EmployeeID '$ke.EmployeeID'

+ CategoryInfo          : NotSpecified: (username1:ADUser) [Set-ADUser], ADException  
+ FullyQualifiedErrorId : ActiveDirectoryServer:8322,Microsoft.ActiveDirectory.Management.Commands.SetADUser

我们还尝试使用:

$username = $ke.Employee

foreach($user in $username) { 
   Set-ADUser $user -EmployeeID $ke.EmployeeID
}

Set-ADUser:无法将“System.Object[]”转换为参数“EmployeeID”所需的类型“System.String”。指定的 不支持该方法。
行:2 字符:33
设置-ADUser $user -EmployeeID $ke.EmployeeID

+ CategoryInfo          : InvalidArgument: (:) [Set-ADUser], ParameterBindingException  
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.SetADUser

我们如何解决这个问题?

powershell active-directory
1个回答
0
投票

如果我做对了,这应该足够了:

foreach($user in $ke) {
   Set-ADUser $user.Employee -EmployeeID $user.EmployeeID
}
© www.soinside.com 2019 - 2024. All rights reserved.