W ostatniej części cyklu o ISESteroids zamierzam skupić się na “wodotryskach”. Oczywiście, człowiek z natury swej lubi rzeczy “ładne” (inna sprawa, że piękno może być rzeczą wysoce subiektywną), więc również “wodotryski” trudno uznać za zbędne ozdobniki. Więcej: część z nich naprawdę ułatwia pracę w ISE i uwypukla istotne dla użytkownika informacje. Nie ma jednak wątpliwości, że część z tych wodotrysków znajdzie się w kategorii: “To super! Zjawiskowe! Tylko… raczej nie będę z tego korzystać, bo…”. Warto jednak wiedzieć, że takie możliwości w ISESteroids drzemią, by móc świadomie z nich nie korzystać. ![]()
PowerShell ISE na sterydach (2.0), część 6
•4 stycznia, 2015 • Dodaj komentarzPowerShell ISE na sterydach (2.0), część 5
•11 grudnia, 2014 • Dodaj komentarzW cyklu życia skryptu nierzadko zdarza się, że wraca on na biurko autora: czy to w celu usunięcia błędów, czy optymalizacji. W wersjach dostępnych do tej pory ISESteroids nieznacznie tylko usprawniał ten aspekt edytowania skryptów. Wersja dostępna obecnie (RC, do pobrania w tym samym miejscu, co wersje poprzednie) dodała jednak całą gamę elementów, które operacje z tego zakresu powinny usprawnić. Elementy te bazują na dodanej w wersji 2.0.12.5 “marginesie debuggera”. Więc choć początkowo planowałem w tej części zająć się “wisienką na torcie” – wszelkiego rodzaju wodotryskami, które ISESteroids dodaje, to temat ten musi chwilkę poczekać. Najpierw to, co istotne: odrobaczanie.
PowerShell ISE na sterydach (2.0), część 4
•8 grudnia, 2014 • Dodaj komentarzTworzone w ramach organizacji skrypty, szczególnie te, które działać będą w środowisku produkcyjnym, powinny podlegać pewnemu procesowi weryfikacji. Korzystne jest też, by weryfikował skrypt ktoś inny niż autor (lub autorzy) – zdecydowanie zmniejsza to szansę “przemycenia” błędów logicznych, wynikających z błędnych założeń. ISESteroids ułatwia taki formalny proces przez kilka elementów: ułatwienie analizy zawartości skryptu pod kontem jego potencjalnych zagrożeń, uproszczenie podpisywania skryptu podpisem cyfrowym czy umożliwienie jego publikację jako “zamkniętej” aplikacji.
PowerShell ISE na sterydach (2.0), część 3
•22 listopada, 2014 • Dodaj komentarz
W poprzednim odcinku cyklu skupiłem się na tych elementach ISESteroids, które ułatwiają modyfikowanie skryptu już istniejącego. Dziś skupię się na tych funkcjach, które ułatwiają stworzenie skryptu od podstaw. Część z nich (jak menedżer skrawków kodu) wykorzystuje narzędzia, które istnieją w samym ISE, wzbogacając je o funkcjonalności w wersji podstawowej niedostępne. Część zaś (zaznaczanie grupy elementów z uwzględnieniem logiki) daje możliwości niedostępne w innych edytorach. Wszystkie one sprawiają, że pisanie skryptu pochłania zdecydowanie mniej czasu i pozwalają uniknąć błędów, literówek i konieczności ustawicznego sprawdzania składni czy to w dokumentacji, czy też przy pomocy ulubionej wyszukiwarki.
PowerShell ISE na sterydach (2.0), część 2
•1 listopada, 2014 • Dodaj komentarz
W pierwszej części cyklu o drugiej odsłonie ISESteroids skupiłem się na funkcjonalnościach zawartych we wtyczkach pionowych. Dziś przejrzymy te funkcjonalności dodatku, które ułatwiają poruszanie się w ramach tworzonego skryptu. I choć możliwości te mogą nie przydać nam się przy pisaniu skryptów krótkich, to gdy zamierzamy edytować moduły, skrypty z dużą ilością funkcji, możliwość łatwego odnajdywania poszczególnych elementów może znacznie skrócić czas konieczny do jego rozbudowy/ naprawiania. Sam często błądzę po przydługim skrypcie w poszukiwaniu miejsca, w którym wywołuję funkcję X, lub fragmentu, który dwa dni temu postanowiłem nieco zmienić dodając odpowiednie “TODO”. Z ISESteroids wszystko to jest nieporównywalnie prostsze.
PowerShell ISE na sterydach (2.0), część 1
•31 października, 2014 • 1 komentarz
Dopiero co opisywałem wspaniały dodatek do PowerShell ISE, a już możemy zacząć korzystać z drugiej jego wersji. Ilość nowych elementów przytłacza i wgniata w fotel.
W tym cyklu postaram się opisać większość z nich, ale nie mam wątpliwości, że kilka mi umknie. Tym bardziej zachęcam do przetestowania go we własnym środowisku. Jeśli macie ISE w wersji 2 (czyli PowerShell 3+), możecie zyskać świetny edytor bez instalowania dodatkowego oprogramowania. By nie powtarzać się, skupię się tylko na elementach dodanych i zmienionych w wersji drugiej ISESteroids. Zachęcam do lektury posta dotyczącego wersji pierwszej, jeśli do tej pory o PowerShell ISESteroids nie słyszeliście. Dodatkowo – artykuł rozpisałem na kilka części. Jeden post to stanowczo za mało by to wszystko “ogarnąć”. ![]()
Linux w stanie pożądanym
•31 sierpnia, 2014 • Dodaj komentarz
Dziś słów kilka o tym, jak przy pomocy PowerShella i Windowsa zarządzać (na razie na dość podstawowym poziomie) Linuxem. Posłużymy się przy tym jednym z nowszych narzędzi, którego premiera związana jest z Windows Server 2012 R2: PowerShell Desired State Configuration (w skrócie: DSC). Po drugiej zaś stronie nasze zabiegi wspierać będzie inna, nieco starsza technologia: Open Management Infrastructure (w skrócie: OMI), która po raz pierwszy została objawiona światu w roku 2012. Rozpoczniemy od “gołego” Linuxa, na którym następnie zainstalujemy wszystkie prerekwizyty oraz obie niezbędne paczki: OMI i PowerShell DSC dla Linuxa, by wreszcie “przećwiczyć” na tak przygotowanej maszynie wszystkie, dostępne obecnie zasoby.
Nadchodzi PowerShell z klasą!
•30 lipca, 2014 • Dodaj komentarz
PowerShell jest mocno osadzony w .NET. Wydaje się więc naturalne, że powinno się dać w nim tworzyć klasy. I to nie “na okrętkę”, kompilując w locie kod z języków tradycyjnie do tego przeznaczonych (C#, VB.NET), przy pomocy poleceń takich jak Add-Type. Wydawało się naturalne, że w PowerShellu powinno być możliwe tworzenie klasy w sposób zbliżony do tego, w jaki tworzymy funkcje, skrypty, workflowy (od wersji 3), konfiguracje (od wersji 4). Innymi słowy: korzystając ze składni, którą znamy dość dobrze.
Dawno, dawno temu zapragnąłem stworzyć sobie klasę w PowerShellu. Jakież było moje zdziwienie, gdy próba zdefiniowania ‘pustej’ klasy nie zakończyła się całkowitym fiaskiem i dała mi nadzieję, że może kiedyś:
Minęło kilka lat, PowerShell ewoluował, a klasy pozostawały jedynie pieśnią przyszłości. Aż wreszcie przyszedł lipiec roku 2014 i oto są: klasy zawitały do PowerShella! ![]()
PowerShell ISE na dopingu
•23 kwietnia, 2014 • 2 KomentarzeGdy pojawił się PowerShell w wersji trzeciej a wraz z nim druga odsłona PowerShell ISE, wydawało się, że era płatnych edytorów dobiega końca. I faktycznie, ostały się jedynie produkty firmy Sapien: jeden ze względu na swą uniwersalność (PrimalScript) a drugi, ze względu na oferowane możliwości (takie jak tworzenie GUI) – PowerShell Studio. Wielu z wcześniejszych autorów edytorów dedykowanych dla PowerShella uważało (i nadal uważa), że ISE nie jest produktem dojrzałym. Ponieważ jednak jest “wystarczająco dobry” dla większości użytkowników, nikomu nie opłaca się inwestować w produkt odrębny. Wyglądało więc na to, że jesteśmy skazani na niedoskonałe ISE. Na szczęście, ISE daje pewne możliwości rozbudowy. Skoro nie da się sprzedawać osobnego edytora, może uda się stworzyć narzędzie komercyjne, które rozbuduje edytor domyślny i darmowy? Przyznam, że widząc zainteresowanie ISE ludzi, którzy wcześniej unikali go jak ognia, miałem nadzieję, że “coś” się z tego (prędzej czy później) urodzi. Ale to, co się faktycznie urodziło, zdecydowanie przewyższyło moje oczekiwania.
PSReadLine
•10 lutego, 2014 • Dodaj komentarzPowerShell w wersji trzeciej wprowadził kilka zmian, dzięki korzystanie z PowerShell.exe jest nieco przyjemniejsze: ulepszony tabulator, usunięcie usterki, która “czyściła” wszystko za kursorem po wciśnięciu tabulatora. Ale to wszystko jedynie czubek góry lodowej: największe usprawnienie nie jest oczywiste. Nie jest nawet domyślnie wykorzystywane. Możliwości jego użycia w chwili obecnej są dwie: stworzyć coś własną rękę, bądź skorzystać z modułu PSReadLine.


