如何将此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
}
答案 0 :(得分: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"
所有这一切都将foreach
循环的输出保存到变量$output
中,然后在完成后将数据转储到您的文件中。
注意:Write-Host
将写入主机流,而不是输出流。将其更改为Write-Output
会将其转储到$output
变量,然后在循环完成时将其转储。
原始代码无效的原因是您实际上没有在文件中写入任何内容。换句话说,您没有向Out-File
电话拨打任何数据。不管怎样,我的方法更喜欢缓存然后转储方法。