从samaccountname export到csv获取displayname和office

时间:2015-04-15 10:57:40

标签: powershell

如何从displayname列表(.txt)获取samaccountname和办公室?之后,我想将displaynames和办公室保存到.csv文件中。这是一种方法:

$users = Get-Content C:\TMP\test.txt
foreach ($user in $users)
{
    Get-ADUser -ldapfilter "(samaccountname=$user)" -Property name, office | Select-Object -Property Name, Office

} 

应该看起来像:

enter image description here

希望你能帮帮我吗?

2 个答案:

答案 0 :(得分:0)

您要求Export-CSV命令,但是根据您的评论,您可能会遇到展示位置问题或foreach的构建问题。

让我们试试这个

$users = Get-Content C:\TMP\test.txt
$users | ForEach-Object {
    Get-ADUser -ldapfilter "(samaccountname=$_)" -Property name,office | Select-Object -Property Name,office
} | Export-Csv -Path C:\temp\export.csv -NoTypeInformation

从评论中更新

从评论中了解您的输出有问题,这就是为什么我想要更多只是标题的图片。我不会对此代码存在任何问题,因此应引用文字,因此特殊字符(如逗号)不应成为问题。如果您正在发挥作用,请使用示例文件的PowerShell版本的文本内容更新您的问题。

答案 1 :(得分:0)

在末尾使用delimiter参数

$users = Get-Content C:\TMP\test.txt
$users | ForEach-Object {
    Get-ADUser -ldapfilter "(samaccountname=$_)" -Property name,office | Select-Object -Property Name,office
} | Export-Csv -Path C:\temp\export.csv -NoTypeInformation -Delimiter ";"