Windows PowerShell: Las muchas opciones para resultados

Existen más formas de generar resultados con Windows PowerShell de las que cree. Aquí le mostramos algunas que han aparecido recientemente.

Don Jones

Windows PowerShell es uno de esos productos ingenioso donde constantemente a descubrir las nuevas características y capacidades. Generar resultados, al obtener la información en la pantalla o en algún otro formato, es una de las áreas donde Windows PowerShell muestra su profundidad notable y versatilidad.

Abra una copia de Windows PowerShell (preferiblemente v2, puede descargar las versiones de Windows a Windows XP) y ejecute Gcm –verb fuera. Verá una lista de todos los cmdlets que se ha diseñado para crear una salida en diversas formas.

Cómo ocurre la salida

Al igual que todos los elementos de Windows PowerShell, los cmdlets de salida distintos están diseñados para consumir los objetos. Esto significa que se muestra el resultado en pantalla, llama a la ventana host, mediante la ejecución de un comando similar al siguiente:

Get-Process | Out-Host

En realidad, la parte Out-Host de que es innecesaria, ya que Windows PowerShell tiene la Out-Default codificado de cmdlet en el final de la canalización. Ese cmdlet reenvía simplemente las cosas a Out-Host. Por lo tanto, este comando:

Get-Process

Es funcionalmente el mismo que:

Get-Process | Out-Default

Out-Default objetos internamente directa de se a Out-Host. ¿Qué es interesante acerca de todos los cmdlets de salida es la que realmente no se procesan objetos “ reales ”. Los cmdlets de salida sólo puede controlar un tipo especial de objeto de formato generado por subsistema de formato del shell.

Cuando un salida de cmdlet recibe objetos “ normales ”, llama internamente a uno de los cmdlets de formato en función de un conjunto de reglas internas y valores predeterminados de configuración. El formato de cmdlet produce objetos de formato que describen cómo crear la salida y el salida de cmdlet permite que los resultados en el dispositivo especificado. Por lo tanto, con esto:

Get-Process

Es realmente mucho como ejecutar esto:

Get-Process | Format-Table | Out-Host

La enseñanza es que sólo puede usar los cmdlets de salida, lo que se produce en un formato de cmdlet. La mayor parte, sólo un cmdlet Out puede controlar lo que se producen los cmdlets de formato. Por lo tanto, un formato de cmdlet siempre es lo último en la línea de comandos, con la única excepción de cuando va seguido de un cmdlet de la salida.

Salida: Final de la línea

Ya que los cmdlets de salida se deben para tratar con el resultado final de cualquier comando que se ha ejecutado, ellos mismos (con una excepción) no generan ningún resultado. Si está utilizando un cmdlet de salida, siempre será lo último en la línea de comandos. Una vez que se ejecuta el cmdlet-Out, no habrá nada en la canalización de cmdlets adicionales actuar.

La única excepción a esta regla, al menos con los salida de cmdlets integrados, es Out-String. Se comporta muy distinto de cmdlets de salida normales. Coloca los objetos de cadena en la canalización. Ese cmdlet y sus excepciones no son el enfoque de aquí, pero tenga en cuenta que existen. Ejecute Out-String ayuda si desea obtener más información.

Espere, hizo lo digo “ out-cmdlets integrados? ” De hecho, y la implicación que hay otros cmdlets de salida es totalmente cierto. Por ejemplo, hay un fabricante comercial complemento denominado PowerGadgets. Esto agrega divertido cmdlets, como Out-Chart y Out-Gauge a repertorio del shell a su. Complemento de salida-cmdlets es posible que no presentan todas las reglas y el comportamiento descrito aquí mismo, por lo que leer las páginas de ayuda (si existe) para comprender mejor cómo funcionan y su función.

Las opciones de salida

Windows PowerShell incluye numerosas opciones de salida integrados:

  • Out-Host es el valor predeterminado cuando no se especifica nada más
  • Out-Printer envía la salida a una impresora. El resultado tiene formato, cualquier formato de cmdlet que utiliza o bien los valores predeterminados en el subsistema de formato
  • Out-File envía resultados a un archivo. Esto es prácticamente lo mismo que ejecutar algo parecido a Dir >archivo.txt. La >y >>en realidad están utilizando los métodos abreviados de Out-File en realidad. Out-File tiene numerosas opciones para establecer el ancho del archivo de salida (que afecta el formato de las decisiones tomadas por el shell), caracteres de codificación, anexar o sobrescribir etc.
  • Cuadrícula de la salida es nueva en Windows PowerShell v2 y requiere Microsoft .NET Framework 3.5 SP1 funcione correctamente. Muestra los objetos de una tabla gráfica con los encabezados de columna haga clic para ordenar y un cuadro de búsqueda o un filtro para buscar resultados específicos de la Ayuda

Leer la Ayuda de estos cmdlets puede ser extremadamente educativo. Por ejemplo, ¿sabía Out-Host tiene un parámetro de –paging que hace que muestre una página de resultados a la vez? Esto es similar al comando “ más ” en el antiguo shell cmd.exe. Vuelva a ejecutar esto:

Get-Service | Out-Host –paging

El parámetro – Width de Out-File es útil para la creación de tablas anchas excepcionalmente. Me he genera tablas grandes y imprime los archivos resultantes en un trazador gráfico para crear una visualización buena y montada en pared. El ancho predeterminado es de sólo 80 columnas, que no se permite para las tablas muy grande. De forma predeterminada, el shell sólo mostrará algo como una tabla si tiene cuatro o menos columnas, o si un valor predeterminado de la configuración que se proporciona para un diseño de tabla personalizado:

Get-WmiObject Win32_Service | Format-Table * | 
Out-File c:\services.txt –width 750

Out-Printer proporciona un parámetro –name para que pueda especificar la impresora que desee. Utilizará la impresora predeterminada de Windows, si no se especifica otro.

Por último, cuadrícula de salida también le permite especificar un título para la ventana de presentación, mediante –title parámetro del cmdlet. Que es útil cuando una secuencia de comandos, muestra una cuadrícula a un usuario, debido a un título adecuado puede ayudar a entender lo está viendo.

Cuando no es de salida

Por último, allí es Out-Null. Se utiliza este cmdlet “ comer ” salida que no desee ver. Por ejemplo, la mayoría de los métodos de Instrumental de administración de Windows devuelve un objeto de su éxito o error. Si no desea ver que los resultados, simplemente canalizar a Out-Null:

Invoke-WmiMethod –name reboot –class win32_operatingsystem | 
Out-Null

No sólo se reproduce con la diversión de las opciones de salida distintas, le da una idea más clara de lo que Windows PowerShell puede hacer por usted. Se dará cuenta de la forma para que pueda trabajar más fácilmente y realizar menos trabajo en su propio.

Don Jones

Don Jones es un fundador de la tecnología concentrado y preguntas de respuestas sobre Windows PowerShell y otras tecnologías en ConcentratedTech.com. También es un autor de Nexus.Realtimepublishers.com, lo que muchos de sus libros disponibles, como las ediciones electrónicas gratuitas a través de su sitio web.

Contenido relacionado