Parametr -Property
parametru New-Object
przyjmuje argument hashtable jako argument. Możesz dodać właściwości dodane w określonej kolejności, jeśli uporządkujesz tablice. Jeśli chcesz, aby rozwinąć listę właściwości w momencie tworzenia wystarczy dodać kolejne pozycje do hashtable:
$ht = [ordered]@{
'Foo' = 23
'Bar' = 'Some value'
'Other Property' = $true
...
}
$o = New-Object -Type PSObject -Property $ht
Jeśli chcesz dodać więcej właściwości po obiekt został utworzony, można to zrobić za pośrednictwem Add-Member
cmdletu :
$o | Add-Member -Name 'New Property' -Type NoteProperty -Value 23
$o | Add-Member -Name 'something' -Type NoteProperty -Value $false
...
lub poprzez calculated properties:
$o = $o | Select-Object *, @{n='New Property';e={23}}, @{n='something';e={$false}}
Chyba musimy zobaczyć przykład, kim jesteś próbować zrobić. Dodawanie nowych właściwości jest łatwiejsze, jeśli zbudujesz tabelę mieszania przed 'nowym obiektem'. '$ props = @ {User =" Jimbo "; Password = "1234"}; $ props.NewProperty = "Yeah" ' – Matt
Mam ochotę zaznaczyć to jako dupe: http://stackoverflow.com/questions/17353797/powershell-how-to-initialize-array-of-custom-objects – Matt