Esempio
Il cmdlet New-Object
è usato per creare un oggetto.
# 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"
In molti casi, un nuovo oggetto sarà creato per esportare dati o passarli ad un altro commandlet. Questo può essere fatto in questo modo:
$newObject = New-Object -TypeName PSObject -Property @{ ComputerName = "SERVER1" Role = "Interface" Environment = "Production"}
Ci sono molti modi per creare un oggetto. Il seguente metodo è probabilmente il modo più breve e veloce per creare un PSCustomObject
:
$newObject = @{ ComputerName = 'SERVER1' Role = 'Interface' Environment = 'Production'}
Nel caso tu abbia già un oggetto, ma hai bisogno solo di una o due proprietà extra, puoi semplicemente aggiungere quella proprietà usando Select-Object
:
Get-ChildItem | Select-Object FullName, Name, @{Name='DateTime'; Expression={Get-Date}}, @{Name='PropertieName'; Expression={'CustomValue'}}
Tutti gli oggetti possono essere memorizzati in variabili o passati nella pipeline. Potresti anche aggiungere questi oggetti a una collezione e poi mostrare i risultati alla fine.
Le collezioni di oggetti funzionano bene con Export-CSV (e Import-CSV). Ogni linea del CSV è un oggetto, ogni colonna una proprietà.
I comandi Format convertono gli oggetti in un flusso di testo da visualizzare. Evita di usare i comandi Format-* fino alla fase finale di qualsiasi elaborazione di dati, per mantenere l’usabilità degli oggetti.