Exportar los usuarios de un dominio en Windows Server 2022 a un archivo csv
Hace unos días, aprendimos a Automatizar la creación de usuarios del dominio en Windows Server 2022 con un archivo csv. Sin embargo, en algunas ocasiones, lo que nos interesa es exportar (copiar) las cuentas de usuario que tenemos en un dominio, para obtener un archivo csv. Es decir, hacer la tarea contraria a la del artículo anterior.
De este modo, podremos generar un archivo csv con los usuarios de un dominio y luego importarlos en un dominio diferente. De la creación de este archivo es de lo que hablaremos en el artículo de hoy.
En realidad, la tarea es muy sencilla. Comenzaremos por utilizar el cmdlet Get-ADUser que ya conocemos de artículos anteriores, para obtener los datos de los usuarios. Por ejemplo, puedes consultar el artículo Administrar usuarios del dominio desde la línea de comandos de Windows Server 2022 (Parte I).
Dada la cantidad de propiedades que tiene una cuenta de usuario, lo mejor será indicar cuáles queremos obtener. En mi caso, usaré las mismas que utilizamos en nuestro primer archivo csv.
En definitiva, podríamos utilizar una sintaxis como esta:
Get-ADUser -Filter * -Properties GivenName, Surname, Name, DisplayName, SamAccountName
De cualquier modo, con esto únicamente obtendremos la lista con todas las cuentas de usuario en la pantalla. Para convertir esa salida en un archivo csv, debemos canalizarla a través del cmdlet Export-Csv.
Por lo tanto, la orden que escribiremos será como esta:
Get-ADUser -Filter * -Properties GivenName, Surname, Name, DisplayName, SamAccountName | Export-Csv "prueba.csv"
El carácter pleca, pipeline o simplemente pipe (|) permite conectar la salida de una orden con la entrada de la siguiente.
Como puedes imaginar, el resultado será un archivo, con el nombre prueba.csv, donde estarán enumerados todos los usuarios del sistema.
Podemos comprobarlo usando la orden type para mostrar su contenido:
type prueba.csv
Al momento, obtendremos en pantalla el contenido del archivo…
Lo mejor es realizar el proceso contrario al que hicimos en el artículo Automatizar la creación de usuarios del dominio en Windows Server 2022 con un archivo csv. Es decir, copiarlo en una memoria USB y abrirlo en otro equipo usando un programa de hoja de cálculo. En concreto, para este ejemplo, yo utilizaré LibreOffice Calc, instalado sobre Windows 11.
Al tratar de abrir el archivo, aparece una ventana donde ajustar los parámetros para la importación.
Un momento después, tendremos en nuestra pantalla la ventana de LibreOffice Calc con los datos importados.
Como puedes ver en la imagen, también se han exportado usuarios predeterminados del sistema, como los de las cuentas Administrador o Invitado. Al realizar la importación en el sistema de destino, estos usuarios reportarán un error, porque ya existirán.
Para evitarlo, puedes borrar las líneas del archivo desde la propia hoja de cálculo y volver a exportarlo. También puedes utilizar un filtro al escribir el cmdlet Get-ADUser. Por ejemplo, pidiendo sólo los usuarios que tengan cualquier contenido en la propiedad Surname, ya que en las cuentas predeterminadas esta propiedad está vacía.
Para lograrlo, bastaría con escribir algo así:
Get-ADUser -Filter {Surname -like "*"} -Properties GivenName, Surname, Name, DisplayName, SamAccountName | Export-Csv "prueba.csv"
Y con esto completamos el objetivo del artículo. Espero que te resulte útil.