Przykład
Ccmdlet New-Object
jest używany do tworzenia obiektu.
# 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"
W wielu przypadkach nowy obiekt będzie tworzony w celu wyeksportowania danych lub przekazania ich do innego commandletu. Można to zrobić w następujący sposób:
$newObject = New-Object -TypeName PSObject -Property @{ ComputerName = "SERVER1" Role = "Interface" Environment = "Production"}
Istnieje wiele sposobów tworzenia obiektu. Poniższa metoda jest prawdopodobnie najkrótszym i najszybszym sposobem na stworzenie obiektu PSCustomObject
:
$newObject = @{ ComputerName = 'SERVER1' Role = 'Interface' Environment = 'Production'}
W przypadku, gdy masz już obiekt, ale potrzebujesz tylko jednej lub dwóch dodatkowych właściwości, możesz po prostu dodać tę właściwość za pomocą Select-Object
:
Get-ChildItem | Select-Object FullName, Name, @{Name='DateTime'; Expression={Get-Date}}, @{Name='PropertieName'; Expression={'CustomValue'}}
Wszystkie obiekty mogą być przechowywane w zmiennych lub przekazywane do potoku. Możesz również dodać te obiekty do kolekcji i pokazać wyniki na końcu.
Kolekcje obiektów dobrze współpracują z Export-CSV (i Import-CSV). Każdy wiersz CSV jest obiektem, każda kolumna właściwością.
Komendy Format przekształcają obiekty w strumień tekstu do wyświetlenia. Unikaj używania poleceń Format-* aż do ostatniego etapu przetwarzania danych, aby zachować użyteczność obiektów.