Courses & TutorialsOperating SystemProgramming

Awesome PowerShell – Massive Collection of Resources

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.
  • PowerShell Test Gallery – A test version of the PowerShell Gallery. Useful when developing new 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. UNMAINTAINED
  • 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.
  • Microsoft.PowerShell.UnixCompleters – Get parameter completion for native Unix utilities. Requires zsh or bash.
  • PSDepend – PowerShell Dependency Handler
  • PSScriptTools – A set of of PowerShell functions you might use to enhance your own functions and scripts or to facilitate working in the console.

Communities

Data

  • hjson-powershell – Simple powershell module for conversion between HJSON and JSON.
  • ImportExcel – Module to import/export Excel spreadsheets, without Excel.
  • powershell-yaml – PowerShell CmdLets for YAML format manipulation.
  • PSWriteHTML – PSWriteHTML is a PowerShell module allowing you to create HTML easily.
  • PSWritePDF – Module to create, edit, split, merge PDF files on Windows / Linux and MacOS.
  • PSWriteWord – Module to create Microsoft Word documents without Microsoft Word installed.

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

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.
  • Kansa – Incident response framework.

Interactive Learning

  • PSKoans – A simple, fun, and interactive way to learn the PowerShell language through Pester unit testing.
  • Jupyter-PowerShell – Jupyter Kernel for PowerShell.

Logging

  • PoShLog – Cross-platform, extensible logging module built upon Serilog.

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.

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.
  • Scoop – A command-line installer for Windows.
  • PowerShell App Deployment Toolkit – Provides a set of functions to perform common application deployment tasks and to interact with the user during a deployment.

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.
  • PSThreadJob – Module for running concurrent jobs based on threads rather than processes.

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.
  • Harness – Interactive remote PowerShell Payload.
  • Invoke-Obfuscation – PowerShell Obfuscator.
  • p0wnedShell – PowerShell Runspace Post Exploitation Toolkit.
  • PESecurity – Module to check if a Windows binary (EXE/DLL) has been compiled with ASLR, DEP, SafeSEH, StrongNaming, and Authenticode.
  • Powershellery – Powershell scripts used for general hackery.
  • PowerUpSQL – Toolkit for Attacking SQL Server.

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.
  • SimplySql – SimplySql is a module that provides an intuitive set of cmdlets for talking to databases that abstracts the vendor specifics. The basic pattern is to connect to a database, execute one or more sql.

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.
  • Selenium – PowerShell module to run a Selenium WebDriver.
  • PSScriptAnalyzer – PSScriptAnalyzer provides script analysis and checks for potential code defects in the scripts by applying a group of built-in or customized rules on the scripts being analyzed.

Themes

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

UI

  • AnyBox – Designed to facilitate script input/output with an easily customizable WPF window.
  • BurntToast – Module for creating and displaying Toast Notifications on Microsoft Windows 10.
  • Graphical – Module to plot colorful console 2D Graphs (Scatter, Bar, Line).
  • GraphicalTools – A module that mixes PowerShell and GUIs! – built on Avalonia and gui.cs.
  • PS-Menu – Simple module to render interactive console menu.
  • PSWriteColor – Write-Color is a wrapper around Write-Host allowing you to create nice looking scripts, with colorized output.
  • Terminal-Icons – Module to show file and folder icons in the terminal.
  • psInlineProgress – Write inline progress bars in PowerShell.

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.
  • Universal Dashboard – Cross-platform module for developing websites and REST APIs.

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.
  • WSLab – Windows Server rapid lab deployment scripts.
  • PoshBot – Powershell-based bot framework.
  • PoShKeePass – Module for working with KeePass databases.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button