导出Powershell信息的不同方法

时间:2014-11-26 15:28:16

标签: powershell printing export

我一直在使用我编写的PowerShell代码来提取AD组的名称,描述,成员和信息。出于某种原因,无论我是使用输出头格式与最后的-Append还是Export-CSV -notypeinformation,两种方式都不会保留我的AD组所拥有的长信息字段。信息太长,以至于它打印在不同的行(一行或多行)上,这使得16,000个组的长列表搞砸了。而不是每条线(当我将它导出到excel时)在他们自己的线上,几乎所有线都在多条线上。当我必须手动修复所有这些时,这会变得很疯狂。

所以我的问题是,如何将所有数据保存在" info"一个单元格中的字段?

我使用的代码(部分代码)如下:

我制作一个标题格式:

Header = `
"Group ID Name" + "|" + `
"Description" + "|" + `
"Notes Field" + " |" + "Members" + "|" + "Member Count"


#Write out the header
$Header | Out-File $pathALL -Append

导出代码为:

$listing =`
$empty.Name + "|" + `
$empty.Description + "|" + `
$empty.info + "|" + `
$members 
$listing | Out-File $pathALL -Append

这仍然弄乱了信息字段,因为显然有太多信息无法容纳在单元格中。所以我试过了:

$emptys = get-adgroup -properties name, description, info -filter {name -like "AP*"} `
| Select name, description, info | Export-CSV "C:\Temp\groupsALL.txt"  -notypeinformation

这个印刷版仍然存在同样的问题,并且将这些数据分开也更加困难。在这种情况下,如何将其全部放入一个单元格中,或者至少打印下一个相邻单元格中的其余信息

问题解答:我的信息领域有新的问题所以我添加了一个前提:

foreach ($lines in $emptys.info){

$lines -replace "``n","" 

}

并改变了我的打印:

$listing =`
$empty.Name + "|" + `
$empty.Description + "|" + `
#$empty.Info + "|" + `
$lines + "|" + `
$members

1 个答案:

答案 0 :(得分:2)

$listing =`
$empty.Name + "|" + `
$empty.Description + "|" + `
$empty.info -replace "`r`n", "NewLine" + "|" + `
$members 
$listing | Out-File $pathALL -Append

显然取代" NewLine"在上面的第4行,你可以用任何你想要的代替换行符。