Всегда есть возможность написать функцию форматирования самостоятельно. Возможно, что-то похожее на приведенное ниже:
function Format-TableCompact {
[CmdletBinding()]
Param (
[parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)]
[PsObject]$InputObject,
[switch]$AppendNewline
)
# If the data is sent through the pipeline, use $input to collect is as array
if ($PSCmdlet.MyInvocation.ExpectingInput) { $InputObject = @($Input) }
# or use : $InputObject = $Input | ForEach-Object { $_ }
$result = ($InputObject | Format-Table -AutoSize | Out-String).Trim()
if($AppendNewline) { $result += [Environment]::NewLine }
$result
}
Это приведет к выводу объекта в виде таблицы без каких-либо начальных или конечных символов новой строки, так называемое использование
Get-Netipaddress | where AddressFamily -eq IPv4 | select IPAddress,InterfaceIndex,InterfaceAlias | sort InterfaceIndex | Format-TableCompact
gwmi win32_logicaldisk | Format-Table DeviceId, VolumeName, @{n="Size(GB)";e={[math]::Round($_.Size/1GB,2)}},@{n="Free(GB)";e={[math]::Round($_.FreeSpace/1GB,2)}} | Format-TableCompact
, оно ударит обе таблицы непосредственно друг против друга.
В этом случае, однако, я бы предпочел, чтобы между таблицами был хотя бы один пробел новой строки, поэтому я использовал бы ключ -AppendNewline
в первой таблице для вывода:
Get-Netipaddress | where AddressFamily -eq IPv4 | select IPAddress,InterfaceIndex,InterfaceAlias | sort InterfaceIndex | Format-TableCompact -AppendNewline
gwmi win32_logicaldisk | Format-Table DeviceId, VolumeName, @{n="Size(GB)";e={[math]::Round($_.Size/1GB,2)}},@{n="Free(GB)";e={[math]::Round($_.FreeSpace/1GB,2)}} | Format-TableCompact