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
}