PowerShell - automatyzacja

Damian Garbus jest autorem bloga Poshland.PRO, którego celem jest pokazanie, PowerShell jako narzędziem nie tylko dla ludzi ze świata IT.

Dlatego w wywiadzie z Damianem znajdziesz między innymi potwierdzenie, dlaczego uważa, że „Everyone can use Powershell to automate jobs or business processes„.

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

Na początek prywatnie: szczęśliwy mąż i ojciec 5-letniego synka.

Zawodowo, od początku mojej kariery zajmuję się wdrażaniem i utrzymywaniem rozwiązań Microsoft (AD, Exchange oraz usługi Office365). Działam na pograniczu IT i biznesu aby pomagać budować automatyzacje procesów biznesowych i zarządzania IT.

Dodatkowo jestem geekiem budowania własnej produktywności i skuteczności.

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

Zaczynałem od wersji Powershell 2.0 jakieś 8 lat temu. Co ciekawe, Powershell w pierwszym kroku służył mi do zarządzania i raportowania środowiskami VMWare vSphere przy pomocy modułu PowerCLI.

Na studiach kodowałem trochę w php i powiem szczerze, nie lubiłem tej składni. W przypadku Powershell było zupełnie inaczej. Prosta składnia, obiekty oraz to co dla mnie okazało się kluczowe, czyli możliwość natychmiastowego przetestowania pomysłu na automatyzacje zaważyło na tym że wszedłem w ten język głębiej.

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

Zalet jest mnóstwo. Główną zaletą z punktu widzenia już korzystających z Powershell oraz tych którzy jeszcze nie korzystają jest bardzo prosta składnia. Każdy może się jej nauczyć. Dzięki dużej ilości gotowych skryptów, modułów i funkcji w Internecie staje się to jeszcze łatwiejsze to zrozumienia. Najłatwiej uczyć się na przykładach i dokładać coś swojego.

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

Powershell cenię za uniwersalność.

Podczas mojego wystąpienia na jednym z Warszawszkich spotkań WGUiSW zapytałem publikę (ponad 50 osób) kto używa Powershell oraz kto używa Powershell do zadań innych niż szeroko pojęte zarządzanie środowiskami IT. Na 25 użytkowników Powershell, 3 osoby miały stworzoną co najmniej jedną automatyzację w Powershell swoich zadań innych niż zarządzanie infrastrukturą IT. Potencjał Powershell wyceniam na dużo więcej.

Niesamowite jest to że przy pomocy Powershell można zrobić prawie wszystko. Obecnie jest on głównie używany przez ludzi pracujących w środowiskach IT. Jednak według mnie potencjał jest o wiele szerszy. Za przykład zawsze podaję język vba w Microsoft Excel. W życiu spotkałem wiele już osób z poza branży IT, które napisały same dla siebie automatyzację pracy w arkuszach kalkulacyjnych. Dlaczego miałyby nie nauczyć się i wykorzystać Powershell do rzeczy podobnych ale już automatyzując pracę nie tylko w Excel.

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

Szczerze? Uważam, że każdy wykonujący pracę na komputerze znalazłby co najmniej jedną powtarzalną rzecz, którą mógłby sobie zautomatyzować i zwolnić trochę swojego czasu.

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

Najważniejsze!!! Nauka pisania kodu (nie dotyczy tylko Powershell) to nie rzecz której można nauczyć się od wielkiego dzwonu. W 30 minut codziennie można nauczyć się więcej niż w dwa dni raz na miesiąc.

Co jeszcze mogę doradzić? To zależy od tego czy osoba zaczynająca miała już styczność z językami programowania czy nie. Osoby zaczynające od zera i niepracujące wcześniej w IT, powinny zapoznać się z podstawowymi informacjami takimi jak zmienna, warunki, pętle, operatory porównania. Często widzę ten błąd, że osoby takie próbują od razu wykonywać polecenia i nie wiedzą co pod tymi poleceniami się kryje i jak to działa.

I na koniec polecam aby każdy omijał błąd który ja popełniłem w pierwszych miesiącach. Niech każdy od razu uczy się pisać funkcje Powershell. Każda funkcja musi być na tyle uniwersalna aby można było ją wykorzystać w nowych skryptach. Dzięki temu nie piszemy tego samego kodu wielokrotnie.

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

Z obszaru poza IT wykorzystuje do automatyzacji swojej powtarzalnej pracy, synchronizacji danych pomiędzy aplikacjami webowymi, przygotowywaniem raportów i w pracach analitycznych.

W obszarze IT to monitoring, zarządzanie i raportowanie infrastruktury lokalnej oraz chmurowych usług Office365.

8. Prowadzisz bloga Poshland.PRO, co sprawiło, że zacząłeś dzielić się wiedzą w takiej formie?

Spotykałem rzeszę ludzi na swojej drodze, którzy chcieli nauczyć się Powershell, ale po kilku próbach rezygnowali bo uważali to za trudne. Kiedy pokazałem im Powershell z mojej perspektywy załapali i używają do dziś. Postanowiłem ten sposób zacząć powielać na Blogu aby dotrzeć do większej ilości osób.

9. Wymień 5 Twoich ulubionych poleceń PowerShell…

Hmmm, ciekawe i trudne zarazem pytanie. Każdy ma swoje. Dla mnie ulubione polecenia to:

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

Moje własne 😉 Nie mam ulubionych. Używam to co potrzebuje w dane chwili. 🙂

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

Polecam https://universaldashboard.io

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

Jak wspominałeś, na blogu https://Poshland.PRO

W mediach społecznościowych można mnie znaleźć na:

Dzięki Damian 🙂

Na końcu chciałbym podziękować jeszcze raz Damianowi za podzielenie się swoimi czasem i spojrzeniem na PowerShell.

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