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:
1 2 3 |
Name=Server001 Domain=domain.pl Service=SQL |
1 2 3 4 |
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:
1 |
$obj = New-Object -TypeName psobject |
A potem wykonujesz kolejno:
1 2 3 |
$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:
1 2 3 4 |
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:
1 |
$obj = New-Object -TypeName psobject |
1 2 |
$tabName = 'Name','Domain','Service' $tabVal = 'Server01','Domain.pl','SQL' |
1 2 3 4 |
for($i=0;$i -lt $tabName.count;$i++) { $obj | Add-Member -MemberType NoteProperty -Name $tabName[$i] -Value $tabVal[$i] } |
1 2 3 |
$obj.Name $obj.Domain $obj.Service |
Komentarze:
[…] http://www.mobilo24.eu/powershell-obiekt-o-wlasciwosciach-nazwanych-jak-w-tablicy/ […]