导入CSV文件中的数据

时间:2017-08-30 18:28:44

标签: powershell csv active-directory

我有一个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
}

2 个答案:

答案 0 :(得分:0)

我认为您的过滤器语法不起作用。

试试这个: Get-ADUser -Filter 'displayName -like "$user"'

此外,您可能必须加载要编辑的属性。我不确定,但你可能会投入一个:

-properties employeeNumber

在Get-AdUser调用上

,以确保Set-AdUser可以看到该属性。

答案 1 :(得分:0)

您正在使用Cmdlet Foreach-Object。此cmdlet需要参数-Procees的值。您不必为参数命名 - 它也可以被称为位置参数。但是Cmdlet参数不允许使用新行。

您必须使用foreach,这是一个关键字或在开放的curley braket之前删除新行。