Ejemplo
El cmdlet New-Object
se utiliza para crear un objeto.
# Create a DateTime object and stores the object in variable "$var"$var = New-Object System.DateTime# calling constructor with parameters$sr = New-Object System.IO.StreamReader -ArgumentList "file path"
En muchos casos, se creará un nuevo objeto para exportar datos o pasarlo a otro commandlet. Esto puede hacerse así:
$newObject = New-Object -TypeName PSObject -Property @{ ComputerName = "SERVER1" Role = "Interface" Environment = "Production"}
Hay muchas formas de crear un objeto. El siguiente método es probablemente la forma más corta y rápida de crear un PSCustomObject
:
$newObject = @{ ComputerName = 'SERVER1' Role = 'Interface' Environment = 'Production'}
En caso de que ya tengas un objeto, pero sólo necesites una o dos propiedades extra, puedes simplemente añadir esa propiedad usando Select-Object
:
Get-ChildItem | Select-Object FullName, Name, @{Name='DateTime'; Expression={Get-Date}}, @{Name='PropertieName'; Expression={'CustomValue'}}
Todos los objetos pueden ser almacenados en variables o pasados a la tubería. También puede añadir estos objetos a una colección y luego mostrar los resultados al final.
Las colecciones de objetos funcionan bien con Export-CSV (e Import-CSV). Cada línea del CSV es un objeto, cada columna una propiedad.
Los comandos Format convierten los objetos en flujo de texto para su visualización. Evite utilizar los comandos Format-* hasta el paso final de cualquier procesamiento de datos, para mantener la usabilidad de los objetos.