使用文本文件在 AD 中查找用户并导出为 CSV

look up user in AD using text file and export to CSV

尝试通过 DisplayName 从 txt 文件中查找用户并尝试将其导出到 CSV。

预期的目标是获得姓氏、名字的列表 (displaynames.txt),使其 return 导出的 CSV 文件包含“格式-Table”中的信息在代码中。

这是我试过的代码

ForEach ($DN in (Get-Content -Path c:\displaynames.txt))
{  Get-ADUser -Filter { displayName -like "*$DN*" } -SearchBase "DC=DOMAIN,DC=NET" | Format-Table Surname,GivenName,SamAccountName,UserPrincipalName | Out-File C:\UserAD.csv
}

文件 return 为空白。想法?非常感谢

试一试,正如 在他的评论中提到的,Format-Table 旨在向控制台显示格式化信息,即使您可以使用它来将格式化信息导出到文件肯定不会是 CSV.

您的代码中的另一个潜在问题是 C:\UserAD.csv 在循环的每次迭代中被替换,因为 Out-File 没有 -Append 开关。

Get-Content -Path c:\displaynames.txt | ForEach-Object {
    if(-not [string]::IsNullOrWhiteSpace($_))
    {
        Get-ADUser -LDAPFilter "(displayName=*$_*)" -SearchBase "DC=NWIE,DC=NET"
    }
} | Select-Object Surname, GivenName, SamAccountName, UserPrincipalName |
Export-Csv path/to/csv.csv -NoTypeInformation