在PowerShell中的屏幕和文件中显示输出

Ron*_*Ron 21 powershell

如何才能将所有这些内容不仅输出到屏幕上,还保存为CSV格式的文本文件?

$OUs = Get-ADObject -LDAPFilter "(objectCategory=organizationalUnit)" `
     -SearchBase "OU=GA,OU=EAST,DC=corp,DC=chm,DC=com" | Select distinguishedName
 ForEach ($OU In $OUs)
 {
     $OU.distinguishedName
     Get-ADComputer -SearchBase $OU.distinguishedName -SearchScope OneLevel `
         -Filter * | Select Name
 }
Run Code Online (Sandbox Code Playgroud)

我试过了

$OUs = Get-ADObject -LDAPFilter "(objectCategory=organizationalUnit)" `
     -SearchBase "OU=GA,OU=EAST,DC=corp,DC=chartercom,DC=com" | Select distinguishedName
 ForEach ($OU In $OUs)
 {
     $OU.distinguishedName
     Get-ADComputer -SearchBase $OU.distinguishedName -SearchScope OneLevel `
         -Filter * | Select Name
 } | | export-CSV c:\temp\outfile.csv –noType
Run Code Online (Sandbox Code Playgroud)

和许多其他格式,但我总是得到错误:

不允许使用空管道元素.

Shi*_*dim 44

使用Tee-Objectcmdlet.

Tee-Object cmdlet使您可以在Windows PowerShell窗口中显示数据,并将相同的数据保存到文本文件中,所有这些都只需一个命令.

dir | Tee-Object -file dir.txt
Run Code Online (Sandbox Code Playgroud)

你应该像使用它一样

 ForEach ($OU In $OUs)
 {
     $OU.distinguishedName
     Get-ADComputer -SearchBase $OU.distinguishedName -SearchScope OneLevel `
         -Filter * | Select Name
 } | Tee-Object -file c:\temp\outfile.txt
Run Code Online (Sandbox Code Playgroud)

注意:它有一个别名,tee与Unix'相同tee.