我想增加我的文本文件中的列之间的间距,因为列之间太近了,不容易读取数据。
我的文本文件现在的样子:
这是我的powershell代码:
$output = Get-ADUser -Filter "SamAccountName -eq 'jared.h'" -Properties whenChanged,DistinguishedName | Select SamAccountName,Enabled,whenChanged,DistinguishedName
$output | Format-Table * | Out-File -FilePath C:\output.txt -Width 5000
我需要做什么修改才能得到这样的输出?
我无法使用Format-Table -AutoSize,因为我需要显示文本文件中的所有13列。
我还尝试在format-table中添加属性width:
$output | Format-Table -Property @{ e='SamAccountName,Enabled,whenChanged'; width = 1000 } | Out-File -FilePath C:\output.txt -Width 5000 Format-Table
但它删除了所有数据,并删除了标题之间的任何间距,并用逗号替换它们:
SamAccountName,Enabled,whenChanged
----------------------------------
1条答案
按热度按时间zsohkypk1#
您将需要使用
expression
定义每一列,并设置相关的width
,其中允许使用属性名称(string
)而不是表达式(请参阅:GitHub issue #14676)参见计算属性/format-list
关于您的评论:
恐怕
Format-Table
cmdlet不如WinForms或Windows Presentation Foundation复杂,并且没有类似-stretch
参数的东西。此外,很难确定列中的数据是如何划分的,特别是在活动管道中,以及数据甚至可能超过可用列宽度的位置,如您自己的示例中的DistinguishedName
列。不管怎样,我看到了两个可能的解决方法:
利用怪癖
缺点:它不会改变右对齐列和左对齐列之间的间距(如
Enabled
和whenChanged
之间)。使用垫片
创建一个标题名称为“白色”的空列:
缺点:这会在标尺上放置额外的破折号(
-
)。