CSV空,可从广告用户导出自定义属性

时间:2018-08-10 10:21:45

标签: powershell active-directory export-csv

从csv文件中,在Powershell控制台中查看属性值没有问题,但是当我要在csv文件中导出时,该文件为空,也许有人可以帮帮我吗?

$adusers = Import-Csv "c:\temp\adusers.csv" -Delimiter ";"

foreach ($item in $adusers) {
# Map variables from CSV
$adusers = $item.'ADUsers'
$Servers = $item.'Domain'


Get-ADUser -identity $adusers -Properties flags -Server $Servers | Select- 
Object -Property samaccountname, userprincipalname, flags | export-csv 
c:\temp\fdfdrff.csv -Encoding Unicode

}

文件adusers.csv:

ADUsers;Domain
account1;Domain1
account2;Domain2
account3;Domain3
account4;Domain4
account5;Domain5
account6;Domain6
account7;Domain7
account8;Domain8
account9;Domain9

输出文件:

"#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser"
"samaccountname","userprincipalname","flags"
"account9","account9@Domain9.local",

1 个答案:

答案 0 :(得分:0)

如果在Export-CSV循环内使用foreach,则必须记住-Append参数。否则,每次替换文件都会发生在您的示例中。

此外,您可以删除分配变量并直接使用$item属性:

Get-ADUser -identity $item.ADUsers -Properties flags -Server $item.Domain

更详细的故障排除:

$adusers = Import-Csv "c:\temp\adusers.csv" -Delimiter ";"
$adusers

如果$adusers无法正确显示对象,请检查文件格式。

仅在foreach内部运行

Get-ADUser -identity $item.ADUsers -Properties flags -Server $item.Domain

如果未正确列出AD用户,请检查文件是否包含正确的标识和/或服务器。可以在Get-AdUser docs中找到可接受的身份和/或服务器名称格式。


基于您提供的文件:

  

输出文件:

"#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser"
"samaccountname","userprincipalname","flags"
"account9","account9@Domain9.local",

我可以看到两件事:

  • 您可以使用-NoTypeInformation摆脱第一行
  • 您只能看到最后一行,这意味着从AD数据获取成功,并且您在-Append中只需要Export-CSV