@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

Curso básico de Powershell: Importar y Exportar datos

Con PowerShell tenemos varias opciones para importar y exportar datos. Para facilitar el poder recibir y enviar información a otros procesos o tareas, existen varios formatos con los que PowerShell puede trabajar de una forma sencilla.

Archivos de texto

Es la forma más sencilla de importar y exportar datos, utilizando archivos de texto planos.

Podemos crear un archivo de texto con el resultado con varias opciones:

  • Out-File:
Ejemplo básico de Out-File
Ejemplo básico de Out-File
  • Redirigiendo la salida con “>” (o “>>” si no queremos que sobrescriba la información)
Canalizando la salida a un archivo
Canalizando la salida a un archivo

Para obtener la información de archivos de texto, utilizamos el cmdlet Get-Content. Como opciones, podemos leer el principio o el final del archivo (-Head y -Tail)

Leemos el contenido de un archivo
Leemos el contenido de un archivo

También puede procesar el contenido de forma que si le indicamos un carácter delimitador, separa cada campo en distintas lineas

Delimitando el contenido de un archivo
Delimitando el contenido de un archivo

 

CSV

CSV (Comman Separated value) es uno de los formatos más extendidos y sencillos a la hora de trabajar con archivos de texto. Utiliza la coma para separar los campos (también se pueden utilizar otros caracteres)

Tenemos los siguientes comandos:

Import-CSV: con powershell podemos importar cualquier archivo CSV. Por defecto el delimitador es la coma, pero se puede indicar otro.La cabecera del archivo pasan a ser los nombres de las propiedades pero también se pueden indicar otros. Todos los valores son importados como cadenas de texto salvo, que PowerShell identifique el contenido como uno de los objetos ya definidos.

Veamos un ejemplo sencillo.

Tenemos un archivo de texto en formato CSV con varios nombres de servidores, direcciones IP y sistema operativo

Archivo de ejemplo
Archivo de ejemplo

Si queremos obtener esa información en una variable es tan sencillo como utilizar Import-CSV

$servidores = Import-Csv servidores.csv

Import-CSV
Import-CSV

Y como vemos el tipo de la variable $servidores, es un objeto de tipo Custom, con las propiedades indicadas por la cabecera del archivo CSV

Get-Member del objeto importado
Get-Member del objeto importado

 

Export-CSV: en este caso permite crear archivos CSV a partir de un objeto o conjunto de objetos. Hay que tener en cuenta que las propiedades del objeto se convierten en la cabecera del archivo CSV y que los arrays y objetos no se exportan, por lo que puede que no obtengamos la salida deseada.

También indicar que como primera linea del archivo CSV se añade el tipo de objeto que se ha exportado como comentario. Se puede quitar con el parámetro NoTypeInformation

Algún ejemplo:

Get-Process | Export-CSV procesos.csv

Export-Csv
Export-Csv

Ahora vamos a ver como lo que se muestra en pantalla no tiene por que coincidir con lo que se exporta al archivo CSV

Export-Csv con objetos como propiedades
Export-Csv con objetos como propiedades

Vemos que al exportar en CSV la propiedad DependentServices, cuyo contenido es un array de objetos, no es exportado correctamente al archivo CSV por lo que tendremos que tener cuidado cuando utilizamos este cmdlet

ConvertTo-CSV y ConvertoFrom-CSV: permite trabajar con formato CSV pero sin la necesidad de utilizar archivos, como si necesitamos con Import-CSV y Export-CSV

ConvertTo-Csv
ConvertTo-Csv
ConvertFrom-Csv
ConvertFrom-Csv

XML

XML es mejor elección cuando se necesita trabajar con objetos más complejos. PowerShell soporta la librería XML de .NET. Es más útil si queremos compartir la información con terceras aplicaciones.

Los comandos disponibles son similares a CSV:

Export-Clixml: permite exportar los objetos a un archivo XML. A diferencia de CSV, cuando exportamos a XML se encarga de procesar y mostrar toda la información de los objetos

Export-Clixml
Export-Clixml

Import-Clixml: permite exportar los objetos a un archivo XML

Import-Clixml
Import-Clixml

ConvertTo-Clixml: permite trabajar con el formato XML sin la necesidad de utilizar archivos.

ConvertTo-Xml
ConvertTo-Xml

Temas

  1. Introducción
  2. Instalación y requerimientos
  3. Ayuda
  4. Ampliando la funcionalidad
  5. Canalización
  6. Operadores
  7. Comandos básicos
  8. Formato de salida
  9. Importar y Exportar datos
  10. Arrays y HashTables
  11. Ejecución de Scripts
  12. Providers
  13. Trabajos
  14. Scripts y funciones
  15. Gestión de Errores

 

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Roberto Orayen

Compruebe también

powershell-comandos-para-extraer-hardware-1

Powershell: Comandos para extraer hardware

Powershell: Comandos para extraer hardware Empezamos el año 2024 con un poco de “comandeo”… Hoy …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

cinco × cinco =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu