无法导出所有用户,只有一个显示在导入-CSV文件到Get-ADUser时

时间:2016-06-15 00:05:31

标签: powershell

我刚刚开始学习PowerShell,但是我正在用这个来敲我的头。当我导入CSV用户列表以使用标题SamAccountName在Get-Aduser上获取userprincipalname时,我能够在控制台上看到所有电子邮件:

ForEach ($user in $allUsers)
{ 
Get-ADUser $user.samaccountname -Properties userprincipalname | select -Property userprincipalname
}

但是,当我尝试将它们导出到csv文件时,只有1个用户出来。使用foreach循环时,我总是遇到问题...

ForEach ($user in $allUsers)
{ 
Get-ADUser $user.samaccountname -Properties userprincipalname | select -Property userprincipalname | export-csv $path -NoTypeInformation
}

在制作foreach循环时,我总是遇到这个问题。我只获得或改变1个变量。为什么是这样? x_X请帮忙!

我的CSV文件有一个SamAccountName和samaccount名称的标题。如果没有导出,我会从控制台上的代码中获得良好的数据:

user@test.com user2@test.com 等...

1 个答案:

答案 0 :(得分:0)

您在循环的每次迭代中导出,这将覆盖该文件。我没有尝试过,但下面的修改应该有效。

$allUsers  | Foreach-Object { 
    $user = $_ 
    Get-ADUser $user.samaccountname -Properties userprincipalname | select -Property userprincipalname 
} | export-csv $path -NoTypeInformation

如果要将结果直接传递给foreach(x in y)

,则必须使用此语法vs export-csv