在Out-File命令中打印所有输出

时间:2014-10-15 19:49:59

标签: powershell printing

如何打印所有信息?

Get-AdUser -Properties name, displayname, description `
-filter {displayname -like '*(*' -or displayname -like '*_*' -or displayname -like '*/*' -or displayname -like '*\*'} `
| Select name, displayname, description `
| Out-File "C:\Temp\displayNameproperties.txt" 

当它打印时...由于控制台宽度限制,部分通过它停止。当我需要查看所有显示名称和描述时,我的Excel文件显示部分信息

2 个答案:

答案 0 :(得分:0)

由于您在Excel中使用此数据,因此应使用Export-CSV代替out-fileExport-CSV将保留您的所有数据,并使任何可以读取该格式的软件都可以使用它。

Get-AdUser -Properties name, displayname, description `
-filter {displayname -like '*(*' -or displayname -like '*_*' -or displayname -like '*/*' -or displayname -like '*\*'} `
| Select-object -property name, displayname, description `
| Export-CSV "C:\Temp\displayNameproperties.csv" -notypeinformation

答案 1 :(得分:0)

您正在尝试将对象输出到文件中,如果您至少没有具体说明它是如何完成的,那么这将变得混乱。尝试使用Export-CSV cmdlet,或将数据格式化为可读字符串并将其输出到文件。

输出为CSV:
Out-File替换为Export-CSV -NoType

输出的格式字符串:
将您的选择更改为类似于以下内容的ForEach:

ForEach{"Name: {0}`tDisplay Name: {1}`tDescription: {2}" -f $_.name, $_.displayname, $_.description}

然后你可以像往常一样将它传输到Out-File。或者您可以使用换行符替换Tab字符(后跟t后缀)(反引号后跟n)。