scripts - Cambie la secuencia de comandos powershell a salida sin puntos suspensivos(...)
script powershell (2)
La Format-List
( fl
) o Format-Table -auto
( ft -auto
) deberían ayudar aquí.
$services | fl
O
$services | ft -auto
Necesito ayuda con la salida del siguiente script para que la salida no se muestre con los puntos suspensivos (...). Intenté insertar "| Format-Table -Wrap -AutoSize" Pero parece que no lo hago bien.
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
salida:
Name Value
---- -----
Access Database Service SE5APP - SE5FE - SE7FE - FAQ3
Application Discovery **and L...** SE5APP - SE5FE - SE7FE - FAQ3
Application Registry Service SE5APP - SE5FE - SE7FE - FAQ3
Gracias por leer.
Me encontré con esta publicación y me gustaría agregar alguna información, ya que la solución aceptada no resolvió mi problema y estoy seguro de que a otros les puede resultar útil la siguiente información:
Historia rápida : ejecutando comandos usando el Microsoft Online Services Module
con Powershell
, gran parte de los resultados se recuperaron continuamente como truncados con el corte de datos y faltaban como puntos suspensivos (...).
La solución : según lo explicado en este post por Greig , inevitablemente llegué a la conclusión de que $FormatEnumerationLimit=-1
es la solución ilimitada al problema. El uso de cualquier variante de Format-Wide
, Format-List
, Format-Table
, Format-Custom
, -AutoSize
, Out-String -Width
, etc. requiere una cantidad considerable de consideraciones / código adicionales. En el caso de que todo lo que desea es ver todos los datos que se devuelven, independientemente de las columnas, los arreglos, etc., $FormatEnumerationLimit=-1
garantiza que obtendrá todo y no necesita perder el tiempo.
Información adicional , según lo acreditado en la publicación de Greig, incluye:
Sugerencia rápida de PowerShell: crear tablas amplias con PowerShell , donde el autor explica:
Si tiene una propiedad específica que contiene una colección de artículos, esa propiedad aún puede mostrar puntos suspensivos en el archivo producido aquí si el número de elementos en esa colección excede el número asignado a la variable integrada $ FormatEnumerationLimit .
... y que "pasar los resultados a | Format-Table -Property *
[mostrará] todas las columnas". Pero el contenido de las columnas todavía puede truncarse ("PowerShell trunca la salida de la tabla por defecto"), y eso incluso usando | Format-Table -Property * -AutoSize
| Format-Table -Property * -AutoSize
estará limitado por su búfer de pantalla ("Las tablas de tamaño automático están limitadas al ancho de su búfer de pantalla"). La solución ofrecida, antes del $ FormatEnumerationLimit absoluto = -1 , parece estar utilizando | Format-Table -Property * -AutoSize
| Format-Table -Property * -AutoSize
en combinación con | Out-String -Width 4096
| Out-String -Width 4096
o cualquier ancho que necesite.
El uso de comandos de formato para cambiar la vista de salida proporciona más documentación detallada sobre los Format cmdlets
Format-Wide
: Format-Wide
, Format-List
y Format-Table
.