Ответ 1
Здесь может помочь либо Format-List
(fl
), либо Format-Table -auto
(ft -auto
).
$services | fl
ИЛИ
$services | ft -auto
Мне нужна помощь с выходом следующего script, поэтому вывод не отображается с помощью эллипсов (...). Я попытался вставить "| Format-Table -Wrap -AutoSize" Но я просто не понимаю.
clear-host Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
$services = new-object system.collections.sortedlist
$servers = (get-spfarm).servers
foreach ($server in $servers) {
foreach($service in $server.serviceinstances)
{
if ($service.status = "Online")
{
$s = $service.typename
if ($services.contains($s))
{
$serverlist = $services[$s]
$servername = $server.name
$services[$s] = "$serverlist - $servername"
}
else
{
$services[$s] = $server.name
}
}
} }
$services
выход:
Name Value
---- -----
Access Database Service SE5APP - SE5FE - SE7FE - FAQ3
Application Discovery **and L...** SE5APP - SE5FE - SE7FE - FAQ3
Application Registry Service SE5APP - SE5FE - SE7FE - FAQ3
Спасибо за чтение.
Здесь может помочь либо Format-List
(fl
), либо Format-Table -auto
(ft -auto
).
$services | fl
ИЛИ
$services | ft -auto
Я столкнулся с этим сообщением и хотел бы добавить некоторую информацию, поскольку принятое решение не разрешило мою проблему, и я уверен, что другие могут найти следующую информацию полезной:
Быстрая история. Выполнение команд с помощью Microsoft Online Services Module
с помощью Powershell
, большая часть результатов постоянно извлекалась с усечением с отсечкой данных и отсутствовала как многоточие (...).
Исправление. Как объяснено в этой записи Greig, я неизбежно пришел к выводу $FormatEnumerationLimit=-1
является неоптимальным решением проблемы. Использование любого варианта Format-Wide
, Format-List
, Format-Table
, Format-Custom
, -AutoSize
, Out-String -Width
и т.д. Требует большого количества дополнительных соображений/кода. В случае, когда все, что вам нужно, - это видеть все возвращаемые данные, независимо от столбцов, массивов и т.д., $FormatEnumerationLimit=-1
гарантирует, что вы получите все, и вам не нужно возиться.
Дополнительная информация, как указано в сообщении Greig, включает:
PowerShell Quick Tip: создание широких таблиц с помощью PowerShell, где автор объясняет:
Если у вас есть определенное свойство, содержащее набор элементов, это свойство все еще может показывать многоточие в файле, создаваемом здесь, если количество элементов в этой коллекции превышает число, присвоенное встроенная переменная $FormatEnumerationLimit.
... и что "передача результатов в | Format-Table -Property *
[будет] показывать все столбцы". Но содержимое из столбцов все равно может быть усечено ( "PowerShell обрезает вывод таблицы по умолчанию" ), и даже использование | Format-Table -Property * -AutoSize
будет ограничено вашим экранным буфером
( "Таблицы с автоматическим размером ограничены шириной вашего экранного буфера" ). Решение, предлагаемое до абсолютного $FormatEnumerationLimit = -1, похоже, использует | Format-Table -Property * -AutoSize
в сочетании с | Out-String -Width 4096
или любой необходимой ширины.
Использование команд Format to Change Output View содержит дополнительную документацию по Format cmdlets
: Format-Wide
, Format-List
и Format-Table
.