Note
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.
- Blogs
- Books
- Communities
- Podcasts
- Code and Package Repositories
- API Wrappers
- Templating Engines
- Build Tools
- Module Development Templates
- Commandline Productivity
- Data
- Documentation Helper
- Editors and IDEs
- Frameworks
- Interactive Learning
- Logging
- Package Managers
- Parallel Processing
- Administration
- Security
- SharePoint
- SQL Server
- Testing
- Themes
- UI
- Videos
- Webserver
- Misc
- 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.
- OCram85.com - Personal blog about PowerShell and automation in general.
- 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.
- Practical Automation with PowerShell - Learn how to build, organize, and share useful automations with PowerShell.
- Learn dbatools in a Month of Lunches - Learn how to automate SQL Server with PowerShell and the awesome dbatools module.
- Tiny PowerShell Projects - A hands-on tutorial for system administration with PowerShell.
- 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
#PowerShellon 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.
- PowerScripting - Weekly show run by Jon Walz and Hal Rottenberg.
- The PowerShell News Podcast - This podcast is the latest news on PowerShell.
- The PowerShell Podcast - Weekly show that highlights what makes PowerShell so great, the community.
- GitHub - Looking for an Open Source PowerShell project? It's probably here.
- PowerShell Gallery - Official PowerShell package repository, used by PowerShellGet.
- 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.
- eps - A templating engine for PowerShell. Similar to Jinga2 in python, ERB in Ruby or Twig in PHP.
- Invoke-Build - Build and test automation tool inspired by psake.
- ModuleBuilder - PowerShell Module to help scripters write, version, sign, package, and publish.
- PSDepend - PowerShell Dependency Handler.
- ModuleFast - A "fast and loose" way to install modules from Powershell Gallery quickly. Meant for CICD, not production.
- psake - Build automation tool inspired by rake (aka make in Ruby) and bake (aka make in Boo).
- 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.
- DroneHelper - Drone + Gitea helper for testing and building PowerShell projects.
- Plaster - Plaster is a template-based file and project generator written in PowerShell.
- Sampler - Module template with build pipeline and examples, including DSC elements.
- 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.
- PSStucco - An opinionated Plaster template for high-quality PowerShell modules. Successor of Stucco
- PSPublishModule - Module builder helper that helps build PowerShell modules "Evotec way"
- Mold - Mold is PowerShell template & scaffolding engine that lets you effortlessly craft templates for any language, on any platform.
- PSModuleDevelopment - Provides tools that help with module development. Templating engine that allows you to swiftly create new projects.
- Module.Template - Powershell Module Template with GitHub, PowerShellGallery and AppVeyor.
- Dotenv - Provides directory specific environments through .env files, similar to direnv.
- posh-git - Set of PowerShell scripts which provide Git/PowerShell integration.
- PoshSvn - Apache Subversion client for PowerShell.
- PSReadLine - Bash inspired readline implementation for PowerShell. Keeps history between sessions, adds reverse-history search and makes the commandline experience much better overall.
- PowerType - Autocomplete for common cli tools like git, npm and more.
- TabExpansionPlusPlus - PowerShell module to make customizing tab completion easier and add a library of custom argument completers.
- Jump-Location - PowerShell
cdthat reads your mind. Autojump implementation for PowerShell.UNMAINTAINED - Zlocation - implementation of z.sh for PowerShell. Similar to Jump-Location.
- thefuck - Magnificent app which corrects your previous console command (by typing
fuck). - PSFzf - a PowerShell module that wraps fzf, a fuzzy file finder for the command line.
- pslinq - LINQ (LINQ2Objects) for PowerShell.
- posh-with - Command prefixing for continuous workflow using a single tool.
- peco - Simplistic interactive filtering 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.
- 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.
- PSTree - Tree-like cmdlets for file system and registry exploration.
- PSADTree - PowerShell Module with cmdlets that emulate the tree command for Active Directory Principals.
- gsudo - A sudo equivalent for Windows, with a similar user-experience as the original Unix/Linux sudo.
- winfetch - A command-line system information utility written in PowerShell. Like Neofetch, but for Windows.
- 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.
- Hcl2PS - PowerShell Module to Wrap Hcl2Json CLI tool for Easy distribution of PowerShell cmdlets to Parse HCL Files.
- 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.
- PsIni - Module for working with INI files in PowerShell using hashtables.
- Microsoft.PowerShell.PlatyPS - Write PowerShell External Help in Markdown. PlatyPS is the tool that Microsoft uses to create the PowerShell content you get from Get-Help and build the content published as PowerShell documentation on Microsoft Learn.
- 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).
- 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.
- Powershell Pro Tools - Powerful tools for PowerShell Developers. Provides IntelliSense, script debugging, and Pester testing support for PowerShell to Visual Studio and Visual Studio Code.
- PowerShell ISE - Official PowerShell development environment included with Microsoft Windows.
- ISE Steroids - Paitd add-on (with a 10 days trial period) 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.
- PowerShell App Deployment Toolkit - Provides a set of functions to perform common application deployment tasks and to interact with the user during a deployment.
- Carbon - DevOps for automating the configuration of Windows computers.
- PowerShell PowerUp - Powerful server management framework.
- Testimo - PowerShell module for running health checks for Active Directory against a bunch of different tests.
- PSFramework - Easily add configurations, logging and more to your own PowerShell module.
- Crescendo - Powershell module for wrapping native applications in a PowerShell function and module.
- Kansa - Incident response framework.
- AutomatedLab - Provisioning solution and framework that lets you deploy complex labs on HyperV and Azure with simple PowerShell scripts.
- PSD - PowerShell Deployment Extension Kit. The purpose of PowerShell Deployment for MDT is to create a new deployment solution that provides the same level of automation as MDT but built on a more modern framework - PowerShell.
- Krayola - Powershell module that provides the capability to write consistent and colourful PowerShell console applications. The key here is that it produces structured output according to user defined formats.
- PSKoans - A simple, fun, and interactive way to learn the PowerShell language through Pester unit testing.
- PSAtlas - An interactive Powershell learning framework.
- Code golf - Solve puzzles with Powershell in as few characters as possible.
- Jupyter-PowerShell - Jupyter Kernel for PowerShell.
- Under the Wire - Under the Wire trains experienced, developing, and novice Information Technologists to use Windows PowerShell in a variety of situations through innovative and fun wargames.
- PowerShellGet - PowerShellGet is the Package Manager for PowerShell. This module provide functions used with PowerShellGet v3 to provide compatibility with scripts expecting PowerShellGet v2.
- Chocolatey - The package manager for Windows. The sane way to manage software on Windows.
- anypackage - PowerShell unified package management interface.
- Scoop - A command-line installer for Windows.
- GitLab - Use a GitLab server as Package Provider.
- 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.
- PSParallelPipeline - PowerShell module featuring the Invoke-Parallel cmdlet, designed to process pipeline input objects in parallel using multithreading. It mirrors the capabilities of ForEach-Object -Parallel from PowerShell 7.0+, bringing this functionality to Windows PowerShell 5.1, surpassing the constraints of Start-ThreadJob.
- PSPKI - PowerShell PKI Module.
- ReportingServicesTools - PowerShell module that allow you to perform various operations with SQL Server Reporting Services and Power BI Report Server.
- NTFSSecurity - Powershell module to ease management and audit of NTFS permissions.
- Optimize-WsusServer - Comprehensive Windows Server Update Services (WSUS) cleanup, optimization, maintenance, and configuration PowerShell script.
- HardeningKitty - Checks and hardens your Windows configuration.
- PowerStig - PowerShell module that contains several components to automate different DISA Security Technical Implementation Guides (STIGs) where possible.
- Locksmith - A small tool built to find and fix common misconfigurations in Active Directory Certificate Services.
- PSPKIAudit - PowerShell toolkit for AD CS auditing based on the PSPKI toolkit.
- SecretManagement - PowerShell module to consistent usage of secrets through different extension vaults.
- Posh-ACME - PowerShell module and ACME client to create certificates from Let's Encrypt (or other ACME CA).
- 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.
- PSCredentialStore - A simple cross-platform credential manager to store and reuse multiple PSCredential objects š.
- AutoSPInstaller - Automated SharePoint 2010-2019 installation script.
- SharePoint-Powershell - Learn about using PowerShell cmdlets for SharePoint in Microsoft 365 and SharePoint Server.
- SPReplicator - SPReplicator helps replicate SharePoint list data to/from CSV, SQL Server, SharePoint itself and more.
- SharePoint2019Commands - PowerShell module to help you auto-load all SharePoint 2019 cmdlets.
- 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.
- Pester - PowerShell TDD 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.
- 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.
- TerminalBuddy - Powershell module that performs bulk conversion of iterm colour schemes for iterm2 to be used within Windows Terminal.
- 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).
- ConsoleGuiTools - Microsoft.PowerShell.ConsoleGuiTools contains the Out-ConsoleGridView and Show-ObjectTree TUI cmdlets for viewing and filtering objects in the terminal user interface.
- 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.
- 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.
- The anatomy of the Get-Help command in PowerShell - Software Engineer Tyler Leonhardt introduces the Powershell help system.
- 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.
- Powershell Universal - Cross-platform module for developing websites and REST APIs.
- PSAI - PowerShell AI module. Think ChatGPT meets PowerShell - Includes Autonomous Agents.
- PowerShellAI - PowerShell meets GPT - Artificial Intelligence.
- DbgShell - A PowerShell front-end for the Windows debugger engine.
- m2cgen - A CLI tool to transpile trained classic ML models into a native PowerShell code with zero dependencies.
- 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.
- ps12exe - PowerShell module that allows you to create an executable file from a .ps1 script.
- ps2exe - PowerShell module to compile powershell scripts to executables.
- DesktopManager - PowerShell module and a C# library that allows to get and set wallpapers to given monitor.
- Oracle Cloud Infrastructure(OCI) Modules for PowerShell - A set of cmdlet modules that can be used with PowerShell Core to manage Oracle Cloud Infrastructure resources.
- PSCompression - PowerShell module that provides utilities for creating, managing, and extracting zip and tar archives, as well as compressing and decompressing strings. It overcomes limitations in built-in PowerShell archive cmdlets (e.g., 2 GB zip file limits) and supports multiple compression algorithms, including gzip, bzip2, Zstandard, lzip, Brotli, Deflate, and Zlib. Built for cross-platform use, itās compatible with Windows, Linux, and macOS.
- 7Zip4Powershell - Powershell module for creating and extracting 7-Zip archives supporting Powershell's WriteProgress API.
- PSCerts - PowerShell module for managing certificates.
- Sophia Script for Windows - The most powerful PowerShell module for fine-tuning Windows.
- windowsterminal-shell - PowerShell scripts to create and manage explorer context menu items for Windows Terminal.
- SNMP - PowerShell module to manage systems using SNMP.
- SNMPv3 - PowerShell module for SNMPv3.
- Posh-SSH - PowerShell Module for automating tasks on remote systems using SSH.
- PowerShellForGitHub - Microsoft PowerShell wrapper for GitHub API.
- PSCX - PowerShell Community Extensions - Usefuld set of additional cmdlets.
- PowerShellTraps - Collection of some PowerShell traps and oddities shown by demo scripts, workarounds, and automated tests.
- restic-windows-backup - Powershell scripts to run Restic backups on Windows. Simplifies the process of installation and running daily backups.
- Elizium.RexFs - Regular expression based Bulk File/Directory renamer.
