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

Una multitud no es un individuo

PreviousComandos de la vieja escuelaNextLa salida predeterminada de los comandos puede mentir

Last updated 7 years ago

Un error muy común de novato:

Aquí, el problema es que se está tratando todo como si estuviera compuesto de un sólo un valor. Pero aqupi $computername puede contener varios nombres de equipo (eso es lo que significa ([string[]]), lo que significa que tanto $bios como $os podrían contener también varios elementos. El truco está en enumerar $computername para conseguir el resultado deseado:

Algunas veces también se encontrará con esto, incluso en situaciones sencillas. Por ejemplo:

PowerShell v2 no reaccionará tan bien, pero en PowerShell v3, la variable dentro de comillas dobles $procs es una variable que contiene varios objetos. PowerShell los enumera implícitamente, además de buscar una propiedad llamada name. Fíjese en ".name" al final de la cadena - PowerShell no hizo nada con eso.

Es probable que mejor desee enumerar así:

image067.png
image069.png
image071.png
image073.png