PowerShell for-each循环输出到文件

dob*_*bbs 2 powershell

如何将此foreach循环的内容输出/附加到文本文件?

以下内容无法解决.

$Groups = Get-AdGroup -Properties * -filter * | Where {$_.name -like "www*"}
Foreach($G in $Groups)
{
    write-host " "
    write-host $G.Name
    write-host "----------"
    get-adgroupmember -Identity $G | select-object -Property SamAccountName
    Out-File -filepath C:\test.txt -Append
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*ger 10

$output = 
    Foreach($G in $Groups)
    {
        write-output " " 
        write-output $G.Name
        write-output "----------"
        get-adgroupmember -Identity $G | select-object -Property SamAccountName
    }

$output | Out-File "C:\Your\File.txt"
Run Code Online (Sandbox Code Playgroud)

所有这一切都将foreach循环的输出保存到变量中$output,然后在完成时将数据转储到文件中.

注意:Write-Host将写入主机流,而不是输出流.Write-Output将其更改为将其转储到$output变量,然后在循环完成时将其转储.

原始代码不起作用的原因是您实际上没有在文件中写入任何内容.换句话说,你没有为你的Out-File通话输送任何数据.无论哪种方式,我的方法更喜欢缓存然后转储方法.