Простой подход: добавьте имя сервера в качестве вычисляемого свойства:
... |
Group-Object -NoElement |
Select-Object @{n='ServerName';e={$serverName}}, Count, Name |
...
Хотя это не даст вам желаемого результата.Вместо этого вы получите:
ServerName Count Name
---------- ----- ----
Webserver01 5 186.0.25.8
Webserver01 3 202.58.5.16
Webserver01 2 96.58.1.58
Webserver02 4 186.0.25.8
Webserver02 2 202.58.5.16
Webserver02 1 96.58.1.58
Webserver03 4 186.0.25.8
Webserver03 1 202.58.5.16
Webserver03 2 96.58.1.58
Однако я бы посчитал этот формат предпочтительным, потому что, заменив Format-Table ... >> ...
на Export-Csv
, вы можете экспортировать данные в формат, который легко читается другими приложениями..
Если вы хотите, чтобы вывод был точно таким же, как в вашем вопросе, вам необходимо создать пользовательский вывод, например, с помощью оператора формата (-f
).
$data = Get-Content -Path ... |
...
Sort-Object Count -Descending
'{0,-15} Count Name' -f $serverName | Set-Content 'C:\output.txt'
$data | ForEach-Object {
'{0,-15} {1,-5} {2}' -f '', $_.Count, $_.Name
} | Add-Content 'C:\output.txt'