The Big Book of PowerShell Gotchas (Spanish)
  • Léame
  • Acerca de este libro
  • Formato a la derecha
  • ¿Dónde está el comando \?
  • PowerShell.exe no es PowerShell
  • Acumulando la salida en una función
  • ForEach vs ForEach vs ForEach
  • Finalización con Tab
  • -Contains y -Like son diferentes
  • No puede tener lo que no se tiene
  • -Filter y la diversidad de valores
  • No todo produce una salida
  • Una página HTML a la vez, por favor
  • Sangriento, Horrible, Puntuación
  • No Concatene Strings
  • $ no forma parte del nombre de la variable
  • Utilizar la canalización (pipeline), no una matriz
  • Backtick, Grave Accent, Escape
  • Comandos de la vieja escuela
  • Una multitud no es un individuo
  • La salida predeterminada de los comandos puede mentir
  • Propiedades vs. Valores
  • Variables Remotas
  • New-Object PSObject vs. PSCustomObject
  • Ejecutando algo como el "usuario actualmente conectado"
  • Comandos que necesitan un perfil de usuario pueden fallar cuando se ejecuta de forma remota
  • Escribiendo en SQL Server
  • Obtener tamaños de carpetas
Powered by GitBook
On this page

Utilizar la canalización (pipeline), no una matriz

Previous$ no forma parte del nombre de la variableNextBacktick, Grave Accent, Escape

Last updated 7 years ago

Un error muy común cometido por programadores tradicionales que recién llegan a PowerShell:

Esta persona ha creado una matriz vacía en $output, y mientras recorre la lista de ordenadores y ejecuta consultas WMI, están agregando nuevos objetos de salida al contenido de la matriz. Finalmente, envía la matriz a la canalización (pipeline).

Mala práctica. Como se ve, esto obliga a PowerShell a esperar mientras se completa la ejecución del comando. Cualquier comando subsecuente en la canalización (pipeline) se sentará a esperar con los brazos cruzados. ¿Un mejor enfoque? Utilizar la canalización (pipeline), cuyo propósito es acumular la salida por usted - sin necesidad de que usted mismo la acumule en una matriz.

Ahora, los comandos posteriores recibirán la salida, dejando que varios de esos comandos se ejecuten más o menos simultáneamente en la canalización (pipeline).

image057.png
image059.png