我有一个AD用户的CSV文件,我手动将一个带有全局ID的列添加到该文件中。我需要将文件中所有用户的全局ID列导入到我的AD帐户中的employeeNumber
字段。
Import-Csv -Path 'C:\work\test.csv' | ForEach-Object {
$user = $_.displayname
$employeeNumber = $_.employeeNumber
Get-AdUser -Filter {displayname -eq $user} |
Set-ADUser -EmployeeNumber $employeeNumber
}
答案 0 :(得分:0)
我认为您的过滤器语法不起作用。
试试这个:
Get-ADUser -Filter 'displayName -like "$user"'
此外,您可能必须加载要编辑的属性。我不确定,但你可能会投入一个:
-properties employeeNumber
,以确保Set-AdUser可以看到该属性。
答案 1 :(得分:0)
您正在使用Cmdlet Foreach-Object
。此cmdlet需要参数-Procees
的值。您不必为参数命名 - 它也可以被称为位置参数。但是Cmdlet参数不允许使用新行。
您必须使用foreach
,这是一个关键字或在开放的curley braket之前删除新行。