awesome-powershell/readme.md
2017-10-02 02:27:40 +02:00

13 KiB

Awesome PowerShell Awesome

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

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

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.

Communities

Documentation Helper

Editors and IDEs

Frameworks

  • Carbon - DevOps for automating the configuration of Windows computers.
  • PowerShell PowerUp - Powerfull server management framework.
  • PSCX - Useful set of additional cmdlets.
  • PlatyPS - Write PowerShell External Help in Markdown.

Package Managers

  • PowershellGet - PowerShellGet is the Package Manager for PowerShell https://www.PowerShellGallery.com
  • 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

Security

Testing

  • Pester - Powershell BDD style testing framework.

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

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.
  • WebCommander - Run scripts and view results, in a friendly web GUI or via a web service.

SharePoint

SQL Server

  • dbareports - Gather, store and display your SQL Server estate data.
  • dbatools - Instance migrations and best practice implementations.

Misc

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