PowerShell

Windows Powershell 3 – Simplified Language Syntax [cz. 2]

Dość  dawno nie pisałem o nowościach w PowerShell, ale postanowiłem wrócić do tego tematu. Zaskoczeniem dla mnie był post  PowerShell 3 ver. Server 2012. na blogu Bartka Bielawskiego, w którym zachęcał do lektury mojego pierwszego wpisu 🙂 Zmotywowało mnie to jeszcze bardziej dlatego w części drugiej postaram się przybliżyć Simplified Language Syntax w PowerShell 3.0

 Windows PowerShell w wersji 3.0 zawiera uproszczoną składnie dla poleceń Where-Object oraz Foreach-Object. Składnia jest teraz bardziej intuicyjna i bliższa języka naturalnego niż dotychczas, która wymagała od nas stosowanie specjalnej zmiennej ‘$_.’ bądź nawiasów klamrowych. Nowa składnia zwalnia z tego obowiązku, co sprawa PowerShell łatwiejszy do przyswojenia osobom początkującym.

Składnia PowerShell 2.0 dla Where-Object: Where-Object { $_.<property name> }
Uproszczona składnia w PowerShell 3.0: Where-Object <property name>

Składnia PowerShell 2.0 dla ForEach-Object: Foreach-Object { $_.<property name> }

Uproszczona składnia w PowerShell 3.0: Foreach-Object <property name>

Nowa wersja PowerShella daje nam do dyspozycji dwa nowe operatory –In i -NotIn. Działanie operatorów jest bardzo podobne do –Contains i –Notcontains z małą różnicą, którą najlepiej przedstawiają proste przykłady:

Tłumacząc na powyższym przykładzie -Contains zwraca True, gdy zbiór wartości (od 1 do 99) zawiera inną wartość ( 99) natomiast -In zwraca True w momencie, gdy wartość (99) jest w zbiorze wartości (od 1 do 99). Operator -NotIn działa po prostu jak zanegowany -In, czyli zwraca True w momencie, gdy wartość (w naszym przykładzie 100) nie należy do zbioru wartości (od 1 do 99).

W kolejnym wpisie postaram się przybliżyć takie elementy jak Cmdlet Discovery i Auto Loading Module.