A curated list of delightful PowerShell modules and resources
Go to file
Janik Vonrotz 47da1132d8
Merge pull request #99 from hjorslev/master
GH to monitor markdown links
2020-04-07 13:34:31 +02:00
.github/workflows 💚 Quality Assurance 2020-04-07 13:07:26 +02:00
.vscode 📝 (Cleanup): Spelling and consistency 2020-04-04 21:37:35 +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 🐛 Fix dead links 2020-04-07 13:19:41 +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.

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.
  • PsGet - Set of commands to install modules from central directory, local file or from the web.
  • 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).