Powershell 在CSV中为每个sAMAccountName设置givenname和姓氏

Powershell 在CSV中为每个sAMAccountName设置givenname和姓氏,powershell,csv,active-directory,Powershell,Csv,Active Directory,我想将用户JohnDoe的给定名称从john更改为john 这是我的csv(真正的csv有100多行): 我想为用户JaneDoe将姓氏从doe更改为doe 我试过这个: Import-csv $path | %{ Set-ADUser $_.sAMAccountName -Surname $_.surnameNew } 它表示标识参数为空。 我怎样才能实现我的目标? 你们能告诉我为什么标识为空吗?你们做了一些基本的调试吗?打印出$\uuu0.sAMAccountName并尝试在没有管

我想将用户
JohnDoe
的给定名称从
john
更改为
john
这是我的csv(真正的csv有100多行):

我想为用户
JaneDoe
将姓氏从
doe
更改为
doe

我试过这个:

Import-csv $path | %{
    Set-ADUser $_.sAMAccountName -Surname $_.surnameNew
}
它表示标识参数为空。 我怎样才能实现我的目标?
你们能告诉我为什么标识为空吗?

你们做了一些基本的调试吗?打印出
$\uuu0.sAMAccountName
并尝试在没有管道和硬编码输入的情况下运行该命令?是的,我尝试了硬编码输入。成功了。打印出
$\u.sAMAccountName
返回的错误为nullTry
(导入Csv-分隔符','$path)。sAMAccountName
错误正确
$\u.sAMAccountName
为null。很难对此进行故障排除,因为这可能是源数据的问题。列名拼写正确吗?实际的空值有可能吗?你应该试着先把它打印出来,这样才能确定<代码>写入主机“$($.sAMAccountName)”。源文件是否用逗号分隔?见鬼,
Import csv$path
是否打印出任何内容?@Paxz逗号是默认分隔符,因此不会有太大变化。
Import-csv $path | %{
    Set-ADUser $_.sAMAccountName -Surname $_.surnameNew
}