我想在PowerShell中显示一个哈希表,我想使用数组来填充其中一列。
基本上,我拥有的是:
$Servers = "training01.us", "training02.us", "training03.us"
#Table
$table = @(@{ColumnA="$Servers";ColumnB=online})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize
我希望它做的是在表中的不同行上显示每个服务器。例如:
列 A-------training01.ustraining02.ustraining03.us
但相反,我显示的是:
列 A-------training01.us training02.us training03.us
我该如何解决这个问题?
这应该给你所需的输出:
$Servers = "training01.us", "training02.us", "training03.us"
$OFS = "`n"
$table = @(@{ColumnA="$Servers";ColumnB='online'})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize -Wrap
但请注意,所有服务器仍位于同一字段中(作为单个字符串)。这三个名称字符串仅用换行符连接(通过将输出字段分隔符设置为 `n
)。
然后Format-Table -Wrap
显示包装的字符串值,而不截断输出。
获得相同结果的另一种方法(无需修改$OFS
)将是
$table = @(@{ColumnA=$Servers -join "`n";ColumnB='online'})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize -Wrap