Skip to content

Neon-Cyber-Crutches/awesome-powershell

Ā 
Ā 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

Awesome PowerShell Awesome

Powershell Mascot

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.

Contents

Blogs

Books

Communities

Podcasts

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.

API Wrappers

  • 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.

Templating Engines

  • eps - A templating engine for PowerShell. Similar to Jinga2 in python, ERB in Ruby or Twig in PHP.

Build Tools

  • 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.

Module Development Templates

  • 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.

Commandline Productivity

  • 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 cd that 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.

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.
  • 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.

Documentation Helper

  • 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).

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.
  • 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.

Frameworks

  • 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.

Scripting Tools

  • 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.

Interactive Learning

  • 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.

Logging

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

Package Managers

  • 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.

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.
  • 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.

Administration

  • 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.

Security

  • 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 šŸ”.

SharePoint

  • 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.

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 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.

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.
  • TerminalBuddy - Powershell module that performs bulk conversion of iterm colour schemes for iterm2 to be used within Windows Terminal.

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).
  • 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.

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

AI

  • PSAI - PowerShell AI module. Think ChatGPT meets PowerShell - Includes Autonomous Agents.
  • PowerShellAI - PowerShell meets GPT - Artificial Intelligence.

Misc

  • 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.

About

A curated list of delightful PowerShell modules and resources

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published