首页 > 解决方案 > 将 Samaccountname 从显示名称获取到 .csv

问题描述

我有一个带有displayName的 .csv 文件,然后是用户的显示名称。

我正在运行以下代码,但返回的 .csv 文件为空白 0KB。我已经花了几个小时在这上面,我不知道我做错了什么。

(我什至尝试将 displayName 切换为“DisplayName”,但这不起作用)

Get-Content C:\Scripts\displaynames.txt | ForEach {
   Get-ADUser -Filter "DisplayName -eq '$user'" -Properties Name, SamAccountName, City, co, DistinguishedName | 
Select Name,SamAccountName, City, co, DistinguishedName
} | Export-CSV -path C:\output\paininthebut.csv -NoTypeInformation

我只需要displayName = samaccountname的简单返回

标签: powershellactive-directoryexport-to-csv

解决方案


如果您的文件实际上是一个 Csv 文件,每列都有一个标题,
并且displayname是其中之一 - 然后使用Import-Csv来获取数据。

ForEach-Object使用该变量$_,或者$PSItem将当前迭代的数据行与列作为属性进行分配。

所以改为:

Import-Csv C:\Scripts\displaynames.txt | ForEach {
   Get-ADUser -Filter "DisplayName -eq '$($_.DisplayName)'" -Properties Name, SamAccountName, City, co, DistinguishedName | 
Select Name,SamAccountName, City, co, DistinguishedName
} | Export-CSV -path C:\output\paininthebut.csv -NoTypeInformation

阅读有关 mklement0问题的有用Get-AdUser答案-filter


推荐阅读