Moduły PowerShell, które musisz znać

By PowerShell

Z doświadczenia wiem, że nie warto wywarzać otwartych drzwi, np. pisząc swoje moduły, przykład masz, chociażby tutaj. Pisanie w PowerShell jest wciągające, ale po pierwsze nieraz nie warto, po drugie nie wszystko jesteśmy w stanie samemu napisać.

Dlatego przygotowałem listę 7 modułów, które są najlepsze (niekiedy jedyne) w swoich obszarach i trzeba po prostu je znać.

1. PSScriptAnalyzer 🔎

Dzięki PSScriptAnalyzer sprawdzisz jakość kodu modułów i skryptów PowerShell. Moduł zawiera gotowe reguł oparte na najlepszych praktykach określonych przez zespół PowerShell i jego społeczność.

Używając PSScriptAnalyzer jednocześnie zobaczysz potencjalne wady swojego kodu i możliwe rozwiązania zgodne z najlepszymi praktykami. Wszystkie sprawdzane reguły wylistujesz poleceniem Get-ScriptAnalyzerRule. Moduł również może być zasilany własnymi regułami.

Moduł możesz zainstalować ze repozytorium PowerShell Gallery, jednak jeśli zrezygnowałeś z PowerShell ISE na rzecz Visual Studio Code to PSScriptAnalyzer już tam jest.

Zdecydowanie polecam!

2. AzureRM Az ☁️

Jeśli pracujesz z Azure to skutecznego działania potrzebujesz Azure CLI lub modułu Az. Moduł pozwala na zarządzanie zasobami platformy Azure bezpośrednio z wiersza polecenia na platformie Windows, Linux i MacOS.

Azure PowerShell został zaprojektowany, aby ułatwić naukę i rozpoczęcie pracy oraz zapewnia zaawansowane funkcje automatyzacji.

Warto wspomnieć, że moduł Az ma starszego brata AzureRM. Moduły nie są ze sobą kompatybilne, chociażby ze względu na krótsze i bardziej spójne nazw poleceń. Jeśli zaczynasz przygodę z Azure i PowerShell to tylko z Az.

Jeśli Twoim dostawcą chmury nie jest Azure to spokojnie, nic nie stoi na przeszkodzie, abyś dla Amazon Web Service lub Google Cloud Platform wykorzystał znajomość PowerShell.

AWS Tools dla PowerShell ☁️

Narzędzia AWS dla PowerShell to zestaw modułów PowerShell, które są oparte na funkcjonalności udostępnianej przez AWS SDK dla .NET. Narzędzia AWS dla PowerShell umożliwiają wykonywanie skryptów operacji na zasobach AWS z wiersza poleceń PowerShell.

Narzędzia AWS dla PowerShell są dostępne w następujących trzech różnych pakietach: – AWSPowerShellAWSPowerShell.NetCoreAWS.Tools z czego zalecany jest ten ostatni.

Cloud tools dla PowerShell ☁️

GCP również nie zapomniało o PowerShell, ich Cloud Tools for PowerShell umożliwia tworzenie skryptów, automatyzację i zarządzanie systemami Windows. W przypadku tego dostawcy chmury sprawa jest jasna, jeden moduł GoogleCloud który pobierzesz z

3. dbatools 📄

Moduł dedykowany dla osób pracujących z systemem zarządzania bazą danych Sql Server. (Kto nie ma u siebie chociaż jednej instancji Sql Server, niech podniesie rękę 😀)

Zawiera ponad 500 poleceń do zadań administracyjnych, programistycznych i migracyjnych. Moduł nie tylko dostarcza polecenia dla Sql Server Engine, ale dla takich komponentów jak Integration Services, Reporting Services i Analysis Services.

Jeśli używasz SqlServer (lub jeszcze SQLPS) to sprawdź koniecznie dbatools. Dodam tylko, że w mojej opinii najlepszy moduł PowerShell rozwijane przez jego społeczność.

4. InvokeBuild ⚙️

InvokeBuild pozwoli Ci na jeszcze prostszą automatyzację w ramach jednego projektu poprzez wywoływanie zdefiniowanych zadań w skrypcie .build.ps1.

Takim projektem może być moduł PowerShell, który będziesz chciał objąć powtarzalnymi zadaniami jak testowaniem Pester, czy sprawdzanie jakości kodu za pomocą PSScriptAnalyze, tworzenie artefaktu i publikowanie w lokalnym bądź publicznym repozytorium, ale nie tylko.

5. Plaster 📁

Moduł Plaster usprawnia tworzenie modułów PowerShell, testów Pester, konfiguracji DSC i innych. Dla mnie szczególnie pomocny przy tworzeniu struktury pod nowe modułu. Generowanie odbywa się na podstawie przygotowanych szablonów, które gwarantuję zawsze identyczny, pożądany wynik.

6. Pester 🧪

Pester umożliwia pisanie testów kodu PowerShell oraz wykonywanie ich w zautomatyzowany sposób. Same testy są po to, aby sprawdzić, czy nasz kod działa zgodnie z oczekiwaniem. Wykorzystanie Pester do testów umożliwi Ci dostarczanie kod PowerShell lepsze jakości.

Pester znalazł szersze zastosowanie, nie tylko do testowania kodu ale również infrastruktury.

Przykłady dwóch modułów, któe wykorzystują Pester właśnie w taki sposób:

7. PoshRSJob 🚀

Moduł PoshRSJob robi to samo co zestaw natywnych poleceń *-Job ale szybciej i prościej. Jeśli chcesz zrównoleglić swoje polecenia poprzez uruchamianie ich w tle to moduł na pewno uprości zadanie.

Podsumowanie

Moduły, które znalazły się na liście to jedne z najpopularniejszych, stoją za nimi wielcy dostawy i/lub ogromna społeczność. Efektem popularności jest, łatwość znajdzienia sporej ilość przykładów i treści na ich temat.

Jeśli chciałbyś o którymś module poczytać więcej na AkademiaPowerShell, to zostaw taką informację w komentarzu.

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

No comments yet.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

× Close