Wspieramy stronicowanie

•31 stycznia, 2016 • Dodaj komentarz

stronicowanieTworząc polecenia w PowerShellu mamy całą gamę możliwości, dzięki którym nasz skrypt/ funkcja może łudząco przypominać skompilowany cmdlet. Jedną z takich możliwości jest "oflagowanie" polecenia jako wspierającego stronicowanie (SupportsPaging). Oznacza to, że nasze polecenie zyska parametry zbliżone do tych, które oferuje Select-Object. Od dłuższego czasu nosiłem się z zamiarem dania szansy tej funkcjonalności. O tym jak długi był to czasy niech zaświadczy fakt, że możliwość tą dodano w wersji trzeciej PowerShella. I przyznam, że mimo wszystko troszkę mnie opcja ta rozczarowała. Na ile udało mi się zbadać jej możliwości, ręczne dodanie dwóch parametrów, na których mogłoby mi zależeć, może się okazać rozwiązaniem lepszym. Ale najpierw o tym co i jak, czyli gdzie (przynajmniej teoretycznie) opcja ta może nam się przydać.

Czytaj dalej ‚Wspieramy stronicowanie’

Plik, czyli zmienna.

•17 stycznia, 2016 • 1 komentarz

VarZmienne w PowerShellu to dość ciekawy "zwierz". Większość użytkowników spotyka się z nimi w najprostszej postaci: $zmienna. Definiujemy, modyfikujemy, używamy. I tyle. Trzeba jednak wiedzieć, że zmienne to coś więcej niż tylko "worki" na nasze obiekty, do których odnosimy się wykorzystując tę najprostszą notację. W tym artykule postaram się wspomnieć o kilku sprawach związanych ze zmiennymi, które odróżniają zmienne w PowerShellu od zmiennych wykorzystywanych w innych językach programistycznych i skryptowych. Zanim jednak o tym, przyjrzymy się nieco dokładniej temu czym jest a czym nie jest w PowerShellu nazwa zmiennej.

Czytaj dalej ‚Plik, czyli zmienna.’

Noworoczne postanowienia (reaktywacja)

•31 grudnia, 2015 • 3 Komentarze

Z przerażeniem spoglądam dziś na statystyki bloga z ostatniego roku. Jeden post, w dodatku na samym jego początku… Nie taki był plan! Ostatnio zastanawiałem się nad przyczyną tego stanu rzeczy i doszedłem do wniosku, że przyczyna jest jedna: zawsze mierzę w artykuły długie i wyczerpujące temat, często dość obszerny. A przecież wiedza to nie tylko te tomiszcza, bloki wiedzy, ale również drobne wskazówki, ciekawostki i informacje, które zamknąć można w kilku zdaniach. Moje postanowienie noworoczne ich właśnie będzie dotyczyć. Planuję wrzucać coś o wiele częściej, ale w mniejszych porcjach. Wam będzie łatwiej to czytać, mi łatwiej pisać w miarę regularnie i jednocześnie jak sądzę może nawet ciekawiej.

Czytaj dalej ‚Noworoczne postanowienia (reaktywacja)’

PowerShell ISE na sterydach (2.0), część 6

•4 stycznia, 2015 • Dodaj komentarz

ISESteroids2-6

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ć. Puszczam oczko

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 6’

PowerShell ISE na sterydach (2.0), część 5

•11 grudnia, 2014 • Dodaj komentarz

ISESteroids2-5

W 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.

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 5’

PowerShell ISE na sterydach (2.0), część 4

•8 grudnia, 2014 • Dodaj komentarz

ISESteroids2-4

Tworzone 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.

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 4’

PowerShell ISE na sterydach (2.0), część 3

•22 listopada, 2014 • Dodaj komentarz

ISESteroids2-3W 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.

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 3’

PowerShell ISE na sterydach (2.0), część 2

•1 listopada, 2014 • Dodaj komentarz

ISESteroids2-2W 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.

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 2’

PowerShell ISE na sterydach (2.0), część 1

•31 października, 2014 • 1 komentarz

ISESteroids2-1Dopiero 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. Uśmiech 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ąć”. Szeroki uśmiech

Czytaj dalej ‚PowerShell ISE na sterydach (2.0), część 1’

Linux w stanie pożądanym

•31 sierpnia, 2014 • Dodaj komentarz

Tux-ElegantDziś 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.

Czytaj dalej ‚Linux w stanie pożądanym’