wywiad z Mateuszem Czerniaw

Mateusz Czerniawskim pracuję z PowerShell od kilku lat oraz dzieli się wiedzą na konferencjach w Polsce i za granicą. Również jest współzałożycielem grupy Polish PowerShell User Group.

W odpowiedziach Mateusza między innymi znajdziesz, jak zaczynał i jak samemu zacząć, jakie są wady PowerShell i dlaczego społeczność PowerShell w Polsce mogłaby być lepsza, niż jest.

Zapraszam.

1. Czy możesz w kilku słowach „powiedzieć” coś o sobie?

Zawodowo pracuję jako architekt/administrator systemów, głównie z rodziny Microsoftu. Od infrastruktury (sieć, storage, compute, wirtualizacja) przez systemy operacyjne po aplikacje – AD, AzureAD, Office 365 etc. Od ponad 10 już lat codziennie uczę się czegoś nowego w tej dziedzinie. Prywatnie mąż i ojciec dwójki dzieci, zapaleniec gier komputerowych. Dla relaksu – zmęczenie fizyczne z dziećmi na dworze, potem dobra książka albo film.

2. Jak zaczęła się Twoja przygoda z PowerShell? I jak dawno to było? Pamiętasz, od której wersji PS zaczynałeś?

Z PowerShellem zacząłem zabawę w wersji 1.0 – Windows 2008, w 2009 roku. Wtedy też pierwsza zabawa z Hyper-V i biznesowe wdrożenia wirtualizacji. Ale prawdziwą przygodę zacząłem dopiero od wersji 2.0. To były dwa duże projekty:

  • utrzymania infrastruktury wirtualnej typu self service dla użytkowników – zrealizowane przy pomocy SCVMM 2008 z uprawnieniami w opraciu o rozbudowaną strukturę AD
  • oraz automatyzacja zatrudniania pracowników w oparciu o plik CSV z działu HR.

Nad dwoma skryptami pracowałem blisko pół roku po kilka godzin dziennie ucząc się wszystkiego w trakcie.

3. Jaką największą zaletę wg Ciebie ma PowerShell? Ewentualnie wadę/wady, jeśli takie dostrzegasz?

  • Intuicyjność składni. Czasownik-Rzeczownik z autouzupełnianiem parameterów jest naprawdę pomocna. Przy ogromnej ilości funkcji i modułów – nie było by możliwości spamiętania wszystkich przełączników.
  • Trzy najważniejsze funkcje – Get-Help, Get-Command i Get-Member pozwalają bardzo szybko rozeznać się w tym co jest potrzebne do wykonania zadania.
  • Obiektowość – W odróżnieniu od *nixowych języków – tutaj pracujemy na bogatych obietkach z właściwościami i metodami – nie na tekście.

Ogromną zaletą jest jego popularność – również na innych niż Windows systemach. Im większa społeczność – tym większa szansa, że ktoś, gdzieś już wykonał podobne zadanie.

Pamiętajmy, że PowerShell to TYLKO środek do osiągnięcia celu – najczęściej wykonania z góry określonego zadania biznesowego.

Wady? Kiepskie moduły czy funkcje. Szczególnie te oficjalne, których jakość pozostawia wiele do życzenia.

Drugi problem to próg wejścia. Wielu ludziom wydaje się za trudny by w ogóle zacząć.

4. Czy uważasz, że warto poznać PowerShell? Jeśli tak to dlaczego? Za co cenisz to rozwiązanie?

Przy dzisiejszych systemach trzeba znać przynajmniej jeden język wykorzystywany w automatyce – PowerShell, Python lub inny. Dla ‚Windowsowca’ wybór jest, moim zdaniem, prosty 🙂

Ciężko byłoby mi policzyć ile godzin zaoszczędziłem dzięki automatyce. AD, Exchange, Sharepoint, Hyper-V, Office365, nawet proste operacje na plikach czy danych stają się łatwiejsze i szybsze. Ponieważ znam podstawy, łatwiej jest mi wykorzystać to przy kolejnych projektach – Microsoft Defender ATP, VMWare ESX, RestAPI.

Jeffrey Snover tworząc Monad Manifest obiecał jedną rzecz:

The team made a promise so important, we called it our sacred vow: Learn PowerShell and we’ll do everything we can to make it the best investment you’ve ever made. It’s 13 years later and I can confidently say that we have kept faith with that vow.

5. W Twojej opinii dla kogo PowerShell może być potrzebny najbardziej?

Dla każdego kto pracuje z komputerami i chce lub musi zautomatyzować swoją pracę. Niezależnie czy jest programistą, opsem czy hobbistą. Czy pracuje z Windowsem, MacOS, Linuksem czy Raspberry PI.

6. Jakie dałbyś wskazówki dla osób zaczynających z PowerShellem?

Zacząc od książki Learn PowerShell in a Month of Lunches, a następnie wybrać miniprojekt i zacząć go rozwiązywać. Jeden problem na raz.

Jak zjeść słonia? Po kawałku.

7. Wracając do Ciebie, w jakich obszarach w tej chwili wykorzystujesz PowerShell?

Jest kilka głównych projektów które rozwijam:

  • AssetManagement – zbieranie i ładowanie danych o naszym środowisku do MS SQL
  • WEF – Windows Event Forwarding + Azure Log Analytics + PowerBI
  • pChecksAD – testy AD + Azure Log Analytics + PowerBI
  • ALTools – moduł ułatwiający wysyłanie logów do Azure Log Analytics
  • Hyper-V management – automatyzacja tworzenia VM w oparaciu o biznesowe wytyczne

8. Wiem, że jesteś jednym z założycieli grupy PPoSh we Wrocławiu, jak oceniasz społeczność PowerShell w Polsce?

Zacznijmy od tego, że PPoSh to Polish PowerShell User Group, a więc nie tylko Wrocław. W zeszłym roku gościliśmy nawet samego Jeffrey Snovera 🙂

Szczerze? Z potencjałem. Mamy naprawdę bardzo dobrych ludzi w Polsce, których trawi syndrom oszusta. Ciężko namówić ich do podzielenia się swoimi doświadczeniami. Natomiast podczas rozmów kuluarowych zawsze jestem pod wrażeniem tego, co ludzie są w stanie osiągnąć!

9. Wymień 5 Twoich ulubionych poleceń PowerShell..

Wspomniane wcześniej trzy: Get-Help, Get-Command i Get-Member oraz… ConvertTo-Json i ConvertFrom-Json. Bardzo lubie ten format do przekazywania danych, konfiguracji.

10. Wymień 3 ulubione/najczęściej używane moduły PowerShell?

Hm. ActiveDirectory, Objectivity.AssetManagement oraz Objectivity.HyperV 🙂

11. Jest coś, co szczególnie chciałbyś jeszcze polecić (skrypt, moduł, funkcję PowerShell)?

Wszystko zależy od potrzeb i specyfiki pracy danej osoby. Natomiast są chyba dwie takie rady:

  • korzystanie z social media – Twitter i Reddit jako podstawa do zdobywania aktualnej wiedzy (nie tylko w zakresie PowerShella)
  • kariera to nie praca! Jeżeli w pracy nie ma czasu na rozwój, to TRZEBA poświęcić czas prywatny, rozwinąć się i … wtedy zmienić pracę! Nikt wam nic nie da. Musicie sami po to sięgnąć!

12. Gdzie Cię można znaleźć, obserwować?

Można mnie znaleźć na mojej stronie oraz:

Natomiast tutaj staram się utrzymywać bieżącą listę moich prezentacji.

Podsumowanie

Na końcu chciałbym podziękować Mateuszowi za poświęcony czas i 💣świetne odpowiedzi. Dziękuje 🙂

22 Najważniejsze Wskazówki Pisania Skryptów PowerShell

Mateusz Nadobnik

Zachwycony językiem skryptowym Windows PowerShell. Swoją wiedzę, doświadczenia i spostrzeżenia opisuję na blogu.

read more