PowerShell V2 zawiera nieco bardziej „przenośną wersję” Cmdletów, które są nazywane modułami. PowerShell V2 wydał następujące oświadczenie: „Moduły pozwalają programistom i administratorom skryptów na podział i organizację swojego kodu w PowerShell w samodzielne segmenty wielokrotnego użytku. Kod z segmentu wykonuje we własnym autonomicznym kontekście i nie wywiera wpływu na obiekty poza nim. Moduły pozwalają także definiować ograniczone środowisko za pomocą skryptu.”

Potoki Podobnie jak w systemie Linux, cmdlety PowerShell można ze sobą łączyć za pomocą potoków (). Łączenie polega na tym, że dane wyjściowe jednego polecenia są uwzględnione, lub będą działać jako wejście do innego polecenia. Przykładowo, rezultat polecenia można doprowadzić za pomocą potoku do w celu odfiltrowania każdego procesu, który ma poniżej 10 MB pamięci stronicowanej, a następnie do komendy Sort-Object (by np. sortować obiekty na podstawie ilości operacji), i ostatecznie do komendy w celu wybrania pierwszych 10 procesów.