Tag

Simplified Language Syntax

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.

 

PowerShell

Windows Powershell 3 – co nowego? [cz. 1]

Nadchodząca odsłona języka Windows Powershell w wersji 3 przyniesie wiele zmian i możliwości. Dla Windows Server 2012 to ponad 80 modułów i około 3000 cmdletów. W klienckiej wersji systemu również wygląda to imponująco, po samej instalacji mamy ponad 40 modułów, które oferują ponad 1000 cmdletów. Do dyspozycji mamy moduły do zarządzania elementami takimi jak AppLocker, BitLocker, Hyper-V, iSCSI i wiele wiele innych.

Można śmiało rzec, że to, co zrobimy przy pomoc GUI zrobimy stosując Windows Powershell a nawet i więcej. Dla przypomnienia można przedstawić jak to wyglądało w wcześniejszych wersjach języka skryptowego firmy Microsoft.

Jednoznacznie ujawnia się konsekwencja polityki firmy Microsoft i implementacja tego języka w każdy swoim produkcie.. Trzeba przyznać, że stosowanie PowerShell V3 przyczyni się przede wszystkim do łatwiejszej administracji systemami serwerowymi w wersjach Core niż dotychczas.

Ogrom cmdletów to nie jedyne zmiany, nowe funkcje dostępne w Windows PowerShell 3 to:

  • Workflows – przebieg/przepływ pracy, wykonywanie poleceń w sekwencji lub równolegle, wykonywanie długotrwałych, skomplikowanych zadań zarządzających,
  • Robust sessions – odporne sesje, automatyczne odzyskiwanie sesji po przerwie, awarii w sieci,
  • Scheduled Jobs – wykonywane regularnie zadań bądź w odpowiedzi na odpowiednie zdarzenia,
  • Delegated Administratrion -komendy, które mogą być wykonane z delegowanego zestawu danych,
  • Simplified Language Syntax – uproszczenie składni języka,
  • Cmdlet Discovery i Auto Loading Module – wyszukiwanie cmdletów oraz automatyczne importowanie modułów,
  • Show-Command – ukazuj okienko GUI z dostępnymi cmdletami, opisem oraz ich parametrami, ma ułatwić poznawanie PowerShell’a

W kolejnych wpisach postaram się  dokładniej przybliżyć zmiany i nowe funkcję które otrzymamy wraz z PowerShell V3.