我的控制台输出太小-我获得的IP地址被截断了。
我知道如何将输出格式化为表格,但是,我正在从循环中输出数据,当我将每个输出流水线到format-table
时,我得到了不错的列宽,但是3空行+2每一行实际数据的标题。这很烦人,而且在没有使用Format-Table的情况下如何扩大列的情况下,我找不到任何在线内容。
通常更改大小或在整个循环中使用Format-Table
的好方法是什么?
我不不想将每个输出附加到变量或文件,然后将其输出到控制台-它需要在控制台中循环显示。
这就是我的意思,如果您想知道的话
之前:
Name IPv4Address ---- ----------- PC12315274 192.168.10... PC17245658 192.168.10... NB12346679 192.168.12.38 PC12245614 192.168.10... SV12347348 192.168.10... PC62345678 192.168.10... SV12165667 192.168.17.28
在我的循环中使用Format-Table
时:
Name IPv4Address ---- ----------- PC12315274 192.168.12.129 Name IPv4Address ---- ----------- PC62345678 192.168.14.161 Name IPv4Address ---- ----------- PC12165667 192.168.11.123 Name IPv4Address ---- ----------- NB12555662 192.168.17.125
以下是相关代码:
foreach ( $subnet in (7..100)) {
foreach ( $client in (1..253)) {
get-adcomputer -filter "IPv4Address -eq '192.168.$subnet.$client'" -Properties * `
| select Name, IPv4Address
}
}
答案 0 :(得分:2)
我发现将Select-Object
输出到Format-Table
的管道会引起类似的问题。尝试先将管道直接铺设到英尺,而无需先选择
我还建议只查询一次AD,然后在powershell中过滤地址”
Get-ADComputer -filter * -Properties ipv4address |
where {
$_.ipv4address -ne $null -and
$_.ipv4address.split(".")[2] -in 7..100 -and
$_.ipv4address.split(".")[3] -in 1..253} |
ft name,ipv4address -autosize