A curated list of delightful PowerShell modules and resources
Go to file
Frederik Hjorslev Poulsen 7839461dc7
🐛 (Package Managers): Remove PsGet
The site is down. The module does not seem to be actively maintained. The readme of the project suggests that PsGet is installed using the website that is currently down.
2020-05-06 22:47:07 +02:00
.github/workflows 💚 Quality Assurance 2020-04-07 13:07:26 +02:00
.vscode (API Wrapper): Add PSUrlScanio 2020-04-08 20:27:17 +02:00
CONTRIBUTING.md Rename contribute.md to CONTRIBUTING.md 2016-11-11 20:24:19 -08:00
DeadLinksAnalyzer.ps1 🎨 (Analyze dead links): Prettier output 2020-04-06 12:55:47 +02:00
LICENSE.md Update license.md 2016-11-11 20:25:56 -08:00
readme.md 🐛 (Package Managers): Remove PsGet 2020-05-06 22:47:07 +02:00

Awesome PowerShell Awesome Quality Assurance

A curated list of delightful PowerShell packages and resources.

PowerShell is a cross-platform (Windows, Linux, and macOS) automation and configuration tool that is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell and an associated scripting language.

Contents

API Wrapper

  • HipChatAdmin - A module for simple integration with Atlassian HipChat via the HipChat API.
  • PSGitHub - Module contains commands to manage GitHub through its REST API.
  • Posh-GitHub - Cmdlets that expose the GitHub API.
  • Posh-Gist - Cmdlets for interacting with GitHub Gist.
  • PSGist - A module to work with GitHub Gists.
  • PSAppVeyor - A module to interact with the AppVeyor REST API.
  • PSSlack - Module for simple Slack integration.
  • ConfluencePS - A module for interacting with Atlassian's Confluence in powershell (by using the API).
  • JiraPS - A module for interacting with Atlassian's Jira in powershell (by using the API).
  • PSTelegramAPI - Module for Telegram APIs
  • PSTeams - A module for sending formatted messages to a Microsoft Teams Channel.
  • PSURLScanio - A module for urlscan.io that is a service to scan and analyze websites.

Blogs

Books

Build Tools

  • psake - Build automation tool inspired by rake (aka make in Ruby) and bake (aka make in Boo).
  • Invoke-Build - Build and test automation tool inspired by psake.
  • PSDeploy - Module built for the purpose of simplifying multiple types of deployments.
  • BuildHelpers - Variety of helper functions for CI/CD scenarios.
  • YDeliver - Build and deployment framework aimed at .NET projects.

Code and Package Repositories

  • GitHub - Looking for an Open Source PowerShell project? It's probably here.
  • PowerShell Gallery - Official PowerShell package repository, used by PowerShellGet.
  • TechNet Gallery - Wide variety of PowerShell code from snippets to modules.

Commandline Productivity

  • posh-git - Set of PowerShell scripts which provide Git/PowerShell integration.
  • PSReadLine - Bash inspired readline implementation for PowerShell. Keeps history between sessions, adds reverse-history search and makes the commandline experience much better overall.
  • TabExpansionPlusPlus - PowerShell module to make customizing tab completion easier and add a library of custom argument completers.
  • Jump-Location - PowerShell cd that reads your mind. Autojump implementation for PowerShell.
  • Zlocation * z.sh implementation for PowerShell. Similar to Jump-Location.
  • thefuck - Magnificent app which corrects your previous console command (by typing fuck).
  • pslinq - LINQ (LINQ2Objects) for PowerShell.
  • posh-with - Command prefixing for continuous workflow using a single tool.
  • poco* peco implementation. Interactive filtering tool.
  • PSDirTag - DirTags are relative paths that appear as variables in the PowerShell prompt that update as you navigate. Saves keystrokes when navigating folder structures.
  • PSUtil - Designed to make the user's console life more convenient. It includes shortcuts, aliases, key bindings and convenience functions geared towards greater efficiency and less typing.

Communities

Documentation Helper

  • platyPS - Write PowerShell External Help in Markdown.
  • Invoke-CreateModuleHelpFile - PowerShell function to create a HTML help file for a module and all it's commands.
  • PScribo - PowerShell documentation framework what can create HTML, Word, text files based on PowerShell-based DSL (domain specific language).

Editors and IDEs

Module Development Templates

  • Plaster - Plaster is a template-based file and project generator written in PowerShell.
  • PSModuleDevelopment - Get started using module templates in 2 minutes with this module's low entry barrier and casual convenience.
  • Catesta - Catesta is a PowerShell module project generator. It uses templates to rapidly scaffold test and build integration for a variety of CI/CD platforms.

Frameworks

  • Carbon - DevOps for automating the configuration of Windows computers.
  • PowerShell PowerUp - Powerful server management framework.
  • PSCX - PowerShell Community Extensions - Useful set of additional cmdlets.
  • PSFramework - Easily add configurations, logging and more to your own PowerShell module.

Package Managers

  • PowerShellGet - PowerShellGet is the Package Manager for PowerShell. Packages are available on PowerShellGallery.
  • Chocolatey - The package manager for Windows. The sane way to manage software on Windows.
  • GitLab - Use a GitLab server as Package Provider.

Parallel Processing

  • PoshRSJob - Provides an alternative to PSJobs with greater performance and less overhead to run commands in the background.
  • Invoke-Parallel - This function will take in a script or scriptblock, and run it against specified objects(s) in parallel.

Podcasts

Security

  • File System Security - Allows a much easier management of permissions on files and folders.
  • PowerShellArsenal - Module used to aid a reverse engineer.
  • PowerTools - Collection of projects with a focus on offensive operations.
  • PowerForensics - Popular live disk forensics platform for windows.
  • PowerSploit - Post-exploitation framework.
  • PowerShellEmpire - Post-exploitation agent.
  • PSReflect - Easily define in-memory enums, structs, and Win32 functions in PowerShell. Useful for attacks, example.
  • BloodHound - Easily identify highly complex attack paths that would otherwise be impossible to quickly identify.
  • Nishang - Enables scripting for red team, penetration testing, and offensive security.

Testing

  • Pester - PowerShell BDD style testing framework.
  • Format-Pester - PowerShell module for documenting Pester's results - exports Pester results to HTML, Word, text files using PScribo.

Themes

  • Oh-My-Posh - Tons of beautiful theme that can be enabled by one single command (includes many awesome powerline theme).
  • Powerline - PowerShell Classes for richer output and prompts.
  • Starship - The minimal, blazing fast, and extremely customizable prompt for any shell.

Videos

Webserver

  • Flancy - Web microframework for Windows PowerShell.
  • Pode - Pode is a Cross-Platform PowerShell framework for creating web servers to host REST APIs, Web Sites, and TCP/SMTP Servers.
  • Polaris - A cross-platform, minimalist web framework for PowerShell.
  • WebCommander - Run scripts and view results, in a friendly web GUI or via a web service.

SharePoint

  • AutoSPInstaller - Automated SharePoint 2010-2019 installation script.
  • Client-side SharePoint - API for SharePoint 2010, 2013 and Online.
  • SPReplicator - SPReplicator helps replicate SharePoint list data to/from CSV, SQL Server, SharePoint itself and more.

SQL Server

  • dbatools - Helps SQL Server Pros be more productive with instance migrations and much more.

Misc

  • DbgShell - A PowerShell front-end for the Windows debugger engine.
  • poke - Crazy cool reflection module for PowerShell. Explore and invoke private APIs like nobody is watching. Useful for security research, testing and quick hacks.
  • psInlineProgress - Write inline progress bars in PowerShell.
  • Graphical - PowerShell Module to plot colorful console 2D Graphs (Scatter, Bar, Line).
  • WSLab - Windows Server rapid lab deployment scripts.