Exportar archivo CSV usando Windows PowerShell ISE

Cómo exportar CSV en PowerShell en Windows 11 y 10

Exportar CSV en PowerShell en Windows 11 y Windows 10 es algo bastante sencillo y conveniente. La función Export-CSV se encarga de convertir los objetos de Windows PowerShell en cadenas y después los guarda en archivos CSV.

Por su parte, Windows PowerShell es una herramienta multiplataforma que es capaz de hacer varias tareas de automatización. Podemos ver algún ejemplo, como la posibilidad de extraer datos de servicios como Microsoft 365 o Active Directory. Por lo tanto, si necesitamos procesar datos en Excel o algún otro software de hojas de cálculo, como LibreOffice; tendremos que usar la función de exportar CSV con la utilidad PowerShell.

En el caso de CSV es una abreviatura para valores separados por comas. Este formato de archivo les brinda la capacidad a los usuarios de importar o exportar datos de una plataforma a otra. Por suerte, estos procesos son bastante simples de controlar, aunque necesitamos tener aunque sean breves conocimientos al respecto.

Exportar CSV en PowerShell en Windows

Para exportar CSV en PowerShell recomendamos usar Windows PowerShell ISE, debido a que este nos permite controlar cómo manejaremos el proceso y los archivos CSV. Es mucho más flexible con los archivos CSV del ordenador. Para poder exportar CSV en PowerShell, tendremos que abrirlo como administrador y entender la sintaxis general de Export-CSV, lo cual veremos a continuación:

Get-Variable -name [variable name] | Export-CSV [path-to-file].csv

Pero antes de ver un ejemplo real, no sería una mala idea entender exactamente para qué sirven los parámetros que utilizamos en Export-CSV:

  • Path. Se trata de la ubicación de destino en donde deseamos guardar el archivo de salida. Por ejemplo, podemos especificar diferentes ubicaciones como el almacenamiento local o una externa. En caso de que no especifiquemos una ruta, Export-CSV va a guardar el archivo en el directorio de PowerShell.
  • Append. En este caso, el parámetro se encarga de especificar si deseamos añadir datos a un archivo recién creado o uno que ya existe. En caso de omitir Append, Export-CSV va a crear un nuevo archivo y todos los datos se guardarán en este. Si lo especificamos, los datos se guardarán en donde nosotros deseemos.
  • Delimiter. En este caso, el parámetro muestra el final de una subcadena. Es posible que sea una coma, pero podemos cambiarlo si lo deseamos.

Usando Export-CSV

En este ejemplo vamos a ver cómo exportar los datos de un usuario desde el directorio de Azure. Vamos a tener que seguir estos pasos para poder hacerlo correctamente:

PowerShell ISE.

Comenzamos presionando la tecla Windows y escribimos PowerShell ISE, luego vamos a dar clic en Ejecutar como administrador en el panel de la derecha.

Aparecerá una ventana emergente de Control de usuario de la cuenta y tendremos que presionar en Sí para continuar.

Una vez que lo hagamos, vamos a tener que ingresar la siguiente línea de comando y después presionar Enter.

Get-AzureADUser | Export-Csv e:\newfolder\azureadusers.csv -NoTypeInformation

En caso de que deseemos exportar datos más específicos, podemos añadir otro parámetro Delimitador. En este caso, usamos una coma como carácter delimitador. Pero en el siguiente ejemplo podemos ver que podemos ir un poco más lejos modificándolo de esta manera:

Get-AzureADUser | select username, email, department | Export-CSV e:\newfolder\azureaduser.csv -NoTypeInformation

Entonces, Export-CSV va a generar la misma cantidad de información, solo que lo hará en diferentes columnas para cada uno de los parámetros que hemos especificado en el comando.

¿Existen alternativas a Export-CSV en PowerShell?

La respuesta es sí, existe una alternativa a Export-CSV que es el ConvertTo-CSV, el cual se puede utilizar para convertir objetos a CSV. También devuelva la salida en forma de flujo de salida estándar en lugar de un archivo.

Adicionalmente, es factible usar ConvertTo-CSV para recrear objetos basándonos en cadenas CSV. Los objetos convertidos son valores de cadena de los objetos iniciales que tienen valores de propiedad.

Aunque la gran diferencia entre ambos es que Export-CSV se encarga de guardar cadenas CSV de un archivo. Dejando de lado esto, los dos son iguales.

¿Qué script utiliza PowerShell para exportar CSV?

El cmdlet es el script que utiliza PowerShell para poder exportar los procesos a un CSV. El script se encarga de generar un CSV de los objetos que deseamos generar. El objeto en una fila específica va a tener una lista separada por caracteres de los valores de propiedad. Los usuarios podrán usar Export-CSV para crear hojas de cálculo o compartir diferentes datos a haciendo uso de aplicaciones compatibles con archivos CSV.


¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.

Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.

¡Gracias por enriquecer nuestra comunidad con tu participación!

Deja un comentario