Awesome PowerShell
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.
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
- Windows PowerShell Blog – Official PowerShell Team Blog.
- Learn PowerShell | Achieve More – Personal blog of Boe Prox who moderated for the Scripting Guy.
- PowerShellMagazine – Awesome magazine.
- PowerShellExplained – Personal blog of Kevin Marquette
- Doug Finke – Author of PowerShell for Developers.
- Mike F. Robbins – Microsoft MVP. SAPIEN Tech MVP. Co-author of Windows PowerShell TFM 4th Edition.
- Adam the Automator – Engaging, technical content on all things automation, cloud computing and DevOps by Adam Bertram and friends.
- Clear-Script – Personal blog of Joel (Sallow) Francis.
Books
- Exploring PowerShell Automation – a free eBook sampler that gives you an overview of how to administer your environment.
- PowerShell in Depth – The go-to reference for administrators. Every major shell technique, technology, and tactic is explained and demonstrated, providing a comprehensive reference to almost everything an admin would do in the shell.
- Windows PowerShell in Action, Third Edition – The latest revision of the comprehensive reference guide.
- Learn Windows PowerShell in a Month of Lunches, Third Edition – An innovative tutorial designed for busy IT professionals. Just set aside one hour a day – lunchtime would be perfect – for a month, and you’ll be automating Windows tasks faster than you ever thought possible.
- Learn PowerShell in a Month of Lunches, Linux and macOS Edition – A task-focused tutorial for administering Linux and macOS systems using Microsoft PowerShell.
- Learn PowerShell Scripting in a Month of Lunches – A guide to the process of developing, testing, and deploying scripts, and the art of toolmaking.
- The Monad Manifesto, Annotated – Jeffrey Snover – Design and theory behind the language from its creator.
- Windows PowerShell Networking Guide – Language specific guide to Windows networking.
- Why PowerShell? – Warren Frame & Don Jones – Use cases for the language.
- The Big Book of PowerShell Gotchas – Don Jones – Excellent guide to avoiding common pitfalls.
- The Big Book of PowerShell Error Handling – Dave Wyatt – Great reference for error handling techniques.
- Secrets of PowerShell Remoting – On all things remoting. Workflow, fan-out, etc.
- PowerShell Notes for Professionals – Compilation of notes and snippets.
- PowerShell for SysAdmins: Workflow Automation Made Easy – Learn how to manage and automate your desktop and server environments.
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.
- zoxide – A better way to navigate your filesystem. Written in Rust, cross-shell, and much faster than other autojumpers.
Communities
- PowerShell.org – Forums, summits, community blog posts, and more.
- /r/PowerShell – Reddit PowerShell community.
- Slack PowerShell team – Large chat room dedicated to PowerShell. Bridged with
#PowerShell
on irc.freenode.net. - Research Triangle PowerShell User Group – Very active PowerShell and automation user group. Meets on first and third Wednesdays. All skill levels welcome.
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
- PowerShell Studio – Powerful PowerShell IDE with module, help, and user interface development tools, high DPI support and regular updates.
- PowerShell for Visual Studio Code – Provides IntelliSense, code navigations, script analysis, script debugging, and more for the Visual Studio Code editor.
- PoshTools for Visual Studio – Provides IntelliSense, script debugging, and Pester testing support for PowerShell to Visual Studio.
- PowerShell ISE – Official PowerShell development environment included with Microsoft Windows.
- ISE Steroids – Add-on for the PowerShell ISE which provides a rich set of additional features to complete the ISE development experience.
- PowerShell Plus – All in one IDE.
- SublimeText package – PowerShell language support for Sublime Text.
- Atom package – PowerShell language support for Atom.
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
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
- PowerScripting – Weekly show run by Jon Walz and Hal Rottenberg.
- The PowerShell News Podcast – This podcast is the latest news on PowerShell.
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
- PowerShell Unplugged with Jeffrey Snover and Don Jones Ignite 2017 – The inventor of PowerShell talking about “the latest and coolest PowerShell features to help you automate and manage the hybrid cloud”. Focused on the PowerShell Community.
- Getting Started With PowerShell 3.0 Jump Start – Jump starts series are for IT professionals with no previous experience with PowerShell, and want to learn it fast.
- Advanced Tools & Scripting with PowerShell 3.0 – IT pros, take this advanced PowerShell course to find out how to turn your real time management and automation scripts into useful reusable tools and cmdlets.
- What’s New in PowerShell v5 – Through description on some of the exciting new features in PowerShell version 5.0.
- PowerShell Open Source Project – Collection of videos thoroughly demonstrate how PowerShell open source project runs on Linux.
- PowerShell on Linux and Open Source – Brief introduction to PowerShell open source project and how it runs on Linux.
- PowerShell – This show will include videos talking about the PowerShell automation platform, Desired State Configuration (DSC), infrastructure as code, and related concepts!! These videos are created by Trevor Sullivan, a Microsoft MVP for Windows PowerShell.
- Learn Windows PowerShell in a Month of Lunches – Don Jones – Video companion to the book of the same title.
- Best Practices for Script Design – Don Jones – Don Jones discusses script design principles and best practices.
- PowerShell Toolmaking (1 of 3) – Don Jones – Toolmaking (1 of 3) – Don Jones.
- PowerShell Toolmaking (2 of 3) – Don Jones – Toolmaking (2 of 3) – Don Jones.
- PowerShell Toolmaking (3 of 3) – Don Jones – Toolmaking (3 of 3) – Don Jones.
- Sophisticated Techniques of Plain Text Parsing – Tobias Weltner – Great reference for text parsing.
- Monad Manifesto Revisited – Jeffrey Snover – Jeffrey Snover reflects on the beginnings of the language and where it’s going.
- AD Forensics with PowerShell – Ashley McGlone – A lot of AD related scripting and analysis techniques.
- Windows PowerShell What’s New in V2 – SAPIEN – Old but gold. Most of this is still very relevant.
- All Things Microsoft PowerShell – Another general language reference.
- Research Triangle PowerShell User Group YouTube Channel – large catalog of user group meetings and demos by community members. 150+ hours of content.
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.
Leave a Reply