Descubre cómo crear archivos CSV claramente dispuestos con la ayuda de scripts de PowerShell: utiliza los objetos personalizados de PowerShell combinados con el commandlet Export-csv.
Introducción a los objetos personalizados de PowerShell
Los objetos personalizados son objetos «genéricos» que puede crear usted mismo en PowerShell.
Un objeto personalizado le permite definir varias propiedades que se pueden añadir dinámicamente a los scripts de PowerShell. Un objeto personalizado puede tener propiedades predefinidas como cualquier otro objeto o puede añadirlas dinámicamente durante el tiempo de ejecución cuando sea necesario.
Hay muchas maneras de utilizar los objetos personalizados y convertirlos en herramientas útiles. Puede:
- mantener una «variable de estado» en los archivos de registro o
- transferir múltiples mensajes simultáneamente a una función sin utilizar demasiadas variables.
Generación de objetos personalizados de PowerShell
Se crea un objeto personalizado de PowerShell con el commandlet «New-Object».
1
|
$object = New-Objeto PSObject
|
En este ejemplo, creamos un objeto del tipo «PSCustomObject».
Por ahora el objeto inicial está vacío y no tiene más características. Puedes añadir nuevas características utilizando el commandlet «Add-Member».
1
|
$object | Add-Miembro NoteProperty «Color» «Rojo»
|
Como resultado, el objeto tiene ahora la característica «Color=rojo». Puedes repetir esto tantas veces como quieras y darle al objeto diferentes características:
1
|
$object | Add-Member NoteProperty «Size» 1
|
Exportación de objetos personalizados como CSV
Una de las principales ventajas es que se puede transferir todo el objeto a otras funciones o commandlets:
1
|
$object Export-Csv -NoTypeInformation -Path .\N -Ruta.csv -Delimitador ‘;’
|
O con una función:
1
2
3
4
5
|
function my-export {
param($myInput)
$myInput Export-Csv -NoTypeInformation -Path .\log.csv -Delimitador ‘;’
}
mi-exportación $objeto
|
Aquí creamos un archivo .csv que tiene el siguiente aspecto:
Color | Tamaño |
Rojo | 1 |
Y en consecuencia, el texto aparece así:
«Color»; «Tamaño»
«Rojo»; «1″
También puede combinar varios objetos en una lista o una matriz para mostrarlos colectivamente:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
$list = @()
$object1 = New-Objeto PSObject
$object1 | Añadir-Miembro NotaPropiedad «Nombre» «Alicia»
$object1 | Añadir-Miembro NoteProperty «Color» «Rojo»
$object1 | Add-Miembro NoteProperty «Tamaño» 1
$list += $object1
$object2 = New-Object PSObject
$object2 | Add-Miembro NoteProperty «Nombre» «Bob»
$object2 | Añadir-Miembro NoteProperty «Color» «Azul»
$object2 | Añadir-Miembro NoteProperty «Tamaño» 2
$list += $object2
$list | Export-Csv -NoTypeInformation -Path .\log.csv -Delimitador ‘;’
|
Como resultado, su nuevo archivo .csv contiene automáticamente ambos objetos:
Nombre | Color | Tamaño |
Alicia | Rojo | 1 |
Bob | Azul | 2 |
De acuerdo, el texto aparece como:
«Nombre»; «Color»; «Tamaño»
«Alice»; «Rojo»; «1″
«Bob»; «Azul»; «2″
En resumen, los objetos personalizados de PowerShell combinados con el commandlet Export-csv son una herramienta eficaz y útil para exportar conjuntos de datos a archivos .csv.
FirstAttribute AG – Microsoft Consulting Partner for
Migration and Active Directory
AD Consulting | AD Migration
.