Beispiel
Das Cmdlet New-Object
wird zum Erstellen eines Objekts verwendet.
# 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 vielen Fällen wird ein neues Objekt erstellt, um Daten zu exportieren oder an ein anderes Commandlet zu übergeben. Dies kann folgendermaßen geschehen:
$newObject = New-Object -TypeName PSObject -Property @{ ComputerName = "SERVER1" Role = "Interface" Environment = "Production"}
Es gibt viele Möglichkeiten, ein Objekt zu erstellen. Die folgende Methode ist wahrscheinlich der kürzeste und schnellste Weg, ein PSCustomObject
:
$newObject = @{ ComputerName = 'SERVER1' Role = 'Interface' Environment = 'Production'}
Wenn Sie bereits ein Objekt haben, aber nur eine oder zwei zusätzliche Eigenschaften benötigen, können Sie diese Eigenschaft einfach mit Select-Object
:
Get-ChildItem | Select-Object FullName, Name, @{Name='DateTime'; Expression={Get-Date}}, @{Name='PropertieName'; Expression={'CustomValue'}}
Alle Objekte können in Variablen gespeichert oder an die Pipeline übergeben werden. Sie können diese Objekte auch zu einer Sammlung hinzufügen und die Ergebnisse am Ende anzeigen.
Objektsammlungen funktionieren gut mit Export-CSV (und Import-CSV). Jede Zeile der CSV-Datei ist ein Objekt, jede Spalte eine Eigenschaft.
Format-Befehle konvertieren Objekte in einen Textstrom für die Anzeige. Vermeiden Sie die Verwendung von Format-*-Befehlen bis zum letzten Schritt der Datenverarbeitung, um die Nutzbarkeit der Objekte zu erhalten.