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.
Contents
- API Wrapper
- Blogs
- Books
- Build Tools
- Code and Package Repositories
- Commandline Productivity
- Communities
- Documentation Helper
- Frameworks
- Editors and IDEs
- Module Development Templates
- Package Managers
- Parallel Processing
- Podcasts
- Security
- Testing
- Themes
- Videos
- Webserver
- SharePoint
- SQL Server
- Misc
API Wrapper
- HipChatAdmin - A module for simple integration with Atlassian HipChat via the HipChat API.
- PSGitHub - This PowerShell module contains commands to manage GitHub through its REST API.
- Posh-Github - Powershell cmdlets that expose the GitHub API.
- Posh-Gist - PowerShell cmdlets for interacting with GitHub Gist.
- PSGist - A PowerShell module to work with GitHub Gists.
- PSAppVeyor - A PowerShell Module to interact with the AppVeyor REST Api.
- PSSlack - PowerShell 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).
Blogs
- Windows PowerShell Blog - Official PowerShell Team Blog.
- Hey, Scripting Guy! Blog - Popular Microsoft blog.
- Learn Powershell | Achieve More - Personal blog of Boe Prox who moderated for the Scripting Guy.
- PowerShellMagazine - Awesome magazine.
- Doug Finke - Author of PowerShell for Developers.
- Mike F. Robbins - Microsoft MVP. SAPIEN Tech MVP. Co-author of Windows PowerShell TFM 4th Edition.
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 Scripting in a Month of Lunches - A guide to the process of developing, testing, and deploying scripts, and the art of toolmaking.
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 - Offical 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, keybindings and convenience functions geared towards greater efficiency and less typing.
Communities
- PowerShell.com - Forums, blog posts, and more.
- 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. - Twitter #PowerShell - Vibrant PowerShell community; great way to keep up with news and blog content.
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.
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.
Frameworks
- Carbon - DevOps for automating the configuration of Windows computers.
- PowerShell PowerUp - Powerfull 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
- 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.
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.
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.
Webserver
- Flancy - Web microframework for Windows PowerShell.
- NancyPS - Nancy, self-hosted in PowerShell, with script method handlers.
- PoSH Server - Secure, flexible and lightweight web server to meet your requirements.
- 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
- dbachecks - SQL Server Environmental Validation (crowdsourced SQL Server DBA Checklists)
- 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.