Chcesz mieć obiekt, który ma właściwości o wybranych przez Ciebie nazwach. Może np. czytasz konfigurację z pliku ini i z zapisu:
Name=Server001 Domain=domain.pl Service=SQL
chcesz utworzyć obiekt o właściwościach: $obj.Name # o wartości Server01 $obj.Domain # o wartości domain.pl $obj.Service # o wartości SQL
Oto co należy zrobić:
Tworzysz obiekt:
$obj = New-Object -TypeName psobject
A potem wykonujesz kolejno:
$obj | Add-Member -MemberType NoteProperty -Name 'Name' -Value 'Server01' $obj | Add-Member -MemberType NoteProperty -Name 'Domain' -Value 'domain.pl' $obj | Add-Member -MemberType NoteProperty -Name 'Service' -Value 'SQL'
Kiedy chcesz się odwołać do właściwości $obj zrobisz to np. tak:
if( $obj.Name -eq 'Server003') { ... }
A jeśli masz 2 tabele – jedną z nazwami a drugą z wartościami, to tworzenie obiektu mozesz wykonać następującym skryptem:
$obj = New-Object -TypeName psobject
$tabName = 'Name','Domain','Service' $tabVal = 'Server01','Domain.pl','SQL'
for($i=0;$i -lt $tabName.count;$i++) { $obj | Add-Member -MemberType NoteProperty -Name $tabName[$i] -Value $tabVal[$i] }
$obj.Name $obj.Domain $obj.Service
Komentarze:
[…] http://www.mobilo24.eu/powershell-obiekt-o-wlasciwosciach-nazwanych-jak-w-tablicy/ […]