PowerShell Remoting i gMSA

•8 listopada, 2020 • Dodaj komentarz

remote controlW naszej firmie staramy się (na ile to możliwe) eliminować konta serwisowe, zastępując je kontami gMSA (Group Managed Service Account). Co prawda nadal istnieje wiele rozwiązań (w tym rozwiązań Microsoft), gdzie korzystanie z takich kont nie jest możliwe, ale i tak udało nam się znaleźć wiele miejsc, gdzie sprawdzają się one bardzo dobrze. Jest tylko jeden problem z kontami tego typu: ciężko przetestować ich działanie. Jest jeden wygodny sposób, który wymaga korzystania z PowerShella w wersji 5.1 – dedykowane końcówki PowerShell Remoting.
Czytaj dalej ‚PowerShell Remoting i gMSA’

Tworzymy moduł: pomoc się pisze!

•28 października, 2020 • Dodaj komentarz

pisze-pomocDziś przyjrzymy się modułowi, dzięki któremu tworząc pomoc możemy skorzystać z tego samego języka, przy pomocy którego tworzone są strony dokumentacji – markdown. Co prawda pisząc pomoc do naszych modułów w PowerShellu możemy korzystać z pomocy zawartej w komentarzu, dzięki czemu pisanie pomocy jest dość proste, to jednak ciężko wykorzystać tę samą pomoc w innych miejscach (takich jak strony pomocy). Pliki markdown świetnie sprawdzają się w takim scenariuszu. Wykorzystamy do tego moduł platyPS.

Czytaj dalej ‚Tworzymy moduł: pomoc się pisze!’

Dot Foreach, Dot Where

•10 października, 2020 • Dodaj komentarz

DotDotDotSądzę, że prawie każdy, kto z pracy w PowerShellu czerpie przyjemność ma swoich „faworytów” – te elementy składni, których regularnie (nad)używa… O jednym z takich „faworytów” wspomniałem Wam ostatnio – operator switch to w mojej ocenie najlepsze co zdarzyło się od pojawienia się krojonego chleba. Dziś chciałem Wam przybliżyć element składni, który wciskać próbuję regularnie, gdzie tylko się da. Głównie dlatego, że kod, który tworzę, musi działać jedynie na najnowszej wersji PowerShella. Składnia ta bowiem dodana została w wersji czwartej, więc cokolwiek wymagającego wsparcia dla „trójki” musi obejść się smakiem… To „wirtualne metody” ForEach i Where.

Czytaj dalej ‚Dot Foreach, Dot Where’

Tworzymy moduł: struktura

•22 września, 2020 • Dodaj komentarz

powershell-module-structureWakacje dobiegły końca i pora wrócić do cyklu dotyczącego tworzenia modułu. W poprzedniej części skupiliśmy się na tym, jak korzystając z gita zarządzać kodem wewnątrz naszego modułu. Dziś przyjrzymy się temu, jak dostosować strukturę modułu do pracy z gitem, pomagając nam uniknąć problemów związanych z konfliktami w gicie i jednocześnie jak później zadbać o to, by publikowany moduł był możliwie najprostszy. Zanim jednak przejdziemy do struktury, którą staram się wykorzystywać obecnie, postaram się opisać proces, który nas do niej doprowadził.

Czytaj dalej ‚Tworzymy moduł: struktura’

Switch: szwajcarski scyzoryk

•24 czerwca, 2020 • 1 komentarz

PowerShell_Swiss_KnifePowerShell na przestrzeni lat ewoluował: zarówno jako platforma automatyzacji jak i język skryptowy. Dla mnie jednak, mimo licznych zmian, jedna konstrukcja w tym języku pozostaje „faworytem”, łącząc w sobie możliwości wyrażeń logicznych i pętli, oferując pracę z wieloma źródłami danych w sposób nie spotykany w innych, dostępnych w PowerShellu konstrukcji. Ta konstrukcja to switch: szwajcarski scyzoryk w PowerShellu.

Czytaj dalej ‚Switch: szwajcarski scyzoryk’

Tworzymy moduł: praca z gitem

•13 czerwca, 2020 • 3 Komentarze

PsLogoKorzystając z PowerShella na co dzień na ogół nie musimy przejmować się tym, jak wygląda tworzony przez nas kod. Nawet proste skrypty na upartego możemy wykorzystywać nie myśląc nawet o systemie kontroli wersji. Jeśli jednak zamierzamy tworzyć moduł, to niestety (a może stety?), bez tego rodzaju narzędzi nie ma raczej sensu kontynuować. Jest to jeszcze istotniejsze wtedy, gdy zamierzamy współtworzyć moduł: możliwość zadbania o to, by poprawiając nasz kod nie cofnąć poprawek koleżanki/kolegi, staje się jeszcze ważniejsze.

Czytaj dalej ‚Tworzymy moduł: praca z gitem’

Dlaczego parametr zmienia wartość?

•12 Maj, 2020 • Dodaj komentarz

PortfelPraca z PowerShellem to swoista mieszana przewidywalnych zachowań i niespodzianek. Jak ktoś mądrzejszy kiedyś powiedział: PowerShell jest bardzo konsekwentny, chyba że akurat nie jest. O jednym z takich na pierwszy rzut oka niekonsekwentnych zachowań chciałem dziś Wam napisać. I pokazać, że w tym szaleństwie, mimo wszystko jest metoda. Przyjrzymy się temu jak zachowywać się będą zmienne przekazywane do funkcji jako parametry. Zanim jednak przejdziemy do konkretnych przypadków – musimy poświęcić parę słów zakresom w PowerShellu.

Czytaj dalej ‚Dlaczego parametr zmienia wartość?’

Tworzymy moduł: od czego zacząć?

•24 kwietnia, 2020 • Dodaj komentarz

First-StepDawno temu napisałem krótką serię o tym jak wyglądają moduły w PowerShellu. Tym postem chciałbym rozpocząć cykl, w którym spróbuję się podzielić moimi doświadczeniami dotyczącymi tworzenia modułów. Wiele z zawartych tu rad bierze się wprost z kilkuletniego doświadczenia w pracy nad modułami w ramach kilkuosobowego zespołu. Mam nadzieję, że choć część uwag/ spostrzeżeń/ rad przyda Wam się w trakcie tworzenia własnych modułów, czy to na potrzeby firmy, w której pracujecie, czy to na potrzeby wspólnoty w ramach platform takich jak GitHub.

Czytaj dalej ‚Tworzymy moduł: od czego zacząć?’

Prawy do lewego?

•6 kwietnia, 2020 • Dodaj komentarz

prawy-do-lewegoPowerShell stara się być pomocny. Zrobi wszystko co w jego mocy, by kod, który w nim „wklepiemy” zadziałał. To właśnie dlatego możemy w nim porównywać rzeczy z pozoru nieporównywalne. Czy to będzie data porównywana z ciągiem znaków, ciąg znaków porównywany z liczbą czy liczba porównywana z wartością logiczną – wszystko „przejdzie”, tak długo jak konwersja (nie koniecznie zgodna z naszą intuicją) jest możliwa. Na ogół PowerShell stosować będzie w takiej sytuacji zasadę „prawy do lewego”. Ale jest od tej zasady wyjątek.

Czytaj dalej ‚Prawy do lewego?’

AutoHotKey w PowerShellu

•6 Maj, 2019 • Dodaj komentarz

HotSpaceBarDziś nieco o lenistwie i wszelkich jego konsekwencjach. O tym, jak korzystając nieustannie z konsoli – pisać (paradoksalnie) jak najmniej. Dlaczego? Otóż wszyscy, którzy mnie znają wiedzą, że marny ze mnie pisarczyk. I nie chodzi tu o poziom moich wypocin na blogu czy w innych mediach (tu chyba mimo wszystko wychodzę obronną ręką, głównie dzięki sprawdzaniu pisowni w Wordzie i Live Writerze) – raczej o literówki, którymi strzelam na lewo i prawo w konsoli. W PowerShellu na ogół ratuje mnie tabulator, ale…

Czytaj dalej ‚AutoHotKey w PowerShellu’