Foreach循环无法将输出打印到.csv

时间:2016-04-08 19:26:29

标签: powershell

使用Powershell非常新。我看到这个脚本作为一个例子,在调整它以满足我的需求后,我发现它工作正常,但是我无法正确地将输出发送到csv文件。

它告诉我“不允许空管元素”。我究竟做错了什么?谢谢你的帮助。

$Groups = Get-ADGroup -Server "company.com" -Properties * -Filter * -SearchBase "OU=ssc, OU=Groups, OU=Users… " | Sort-Object Name  

Foreach($G In $Groups)
{
    Write-Host $G.Name 
    $G.Members
    Write-Host "-------------"

}| Export-CSV -path c:\temp\Test.csv

1 个答案:

答案 0 :(得分:0)

foreach($this in $that){}语言构造,而不是 cmdlet

您无法通过管道(|)从语言构造输出。

您可以将此类构造的输出分配给变量,然后将 管道传输到另一个cmdlet:

$Members = Foreach($G In $Groups)
{
    Write-Host $G.Name 
    $G.Members
    Write-Host "-------------"

}

$Members | Export-CSV -path c:\temp\Test.csv