Popular PowerShell Modules

Popular PowerShell Modules


 

Introduction

This article includes a list of modules widely used by the Windows PowerShell community. Many of these projects are open source and located at CodePlex or Technet Script Center. For more information on modules in PowerShell, please see An Introduction to PowerShell Modules.

List of modules

Name Features Module/Snapin name Description
Active Roles Management Shell for Active Directory Cmdlets   The ActiveRoles Management Shell for Active Directory is a set of predefined commands for Windows PowerShell. These commands are designed to help administrators automate common, repetitive and bulk management tasks such as creating, removing or updating objects in Active Directory.
AD Replication Cmdlets   The Active Directory PowerShell Module is great for managing users, groups and other resources in Active Directory. What is currently missing are cmdlets or functions to manage the replication infrastructure like sites, site links and subnets. This module provides script cmdlets for managing the ADReplication objects.
AutoBrowse Cmdlets   AutoBrowse AutoBrowse is a module for automating IE.  Written by James Brundage from Start-Automating 
AutomatedLab Cmdlets AutomatedLab Create a lab environment in Hyper-V completely automated using PowerShell. The number of machines and domains is flexible and as well as many other parameters. Samples are provided how to create very simple environments up to complex ones.
BSonPosh Cmdlets bsonposh Brandon Shell's PowerShell module with lots of useful commands.
Client Manager Cmdlets   PowerShell module to Add/Remove Windows 7 features
CodeCraft Cmdlets  CodeCraft  CodeCraft is a set of powershell scripts to autogenerate code.  Written by James Brundage from Start-Automating 
DnsShell Cmdlets DNSShell DnsShell is a Microsoft DNS administration / management module written for PowerShell 2.0
EZOut
Cmdlets
EZOut
A neat set of script cmdlets that facilitate creation of improved Display XML. By James Brundage from Start-Automating.
File System Security Cmdlets NTFSSecurity Managing permissions with PowerShell is only a bit easier than in VBS or the command line as there are no cmdlets for most day-to-day tasks like getting a permission report or adding permission to an item. PowerShell only offers Get-Acl and Set-Acl but everything in between getting and setting the ACL is missing. This module closes the gap.
FTP Client Cmdlets PSFTP The PSFTP module allow you to connect and manage the contents of ftp account. Allow to get list of items, download and send files to ftp location.
IsePackV2 Cmdlets, ISE Add Ons    IsePackV2 is an updated collection of tools for the ISE and must have modules.   Contains PowerShell Pipeworks, ShowUI, ScriptCop, EZOut, and RoughDraft.  Written by James Brundage from Start-Automating
Kerberos Module Cmdlets Kerberos  This module gives access to the Kerberos Ticket cache like klist.exe.
Local User Management Module Cmdlets   The Local User Management Module is a Windows PowerShell module that contains a number of functions that enable, disable, create, delete, and modify users and groups.
OData PowerShell Explorer Cmdlets   An 'OData Explorer' PowerShell application designed to allow ad-hoc browsing of OData Services using the command line or GUI using WPK from the Microsoft PowerShell Pack
Patchy Cmdlets  Patchy  Patchy is a tool to help you smooth out the pain of patching windows.   Written by James Brundage from Start-Automating
PSPKI Cmdlets PSPKI This module provides a set of cmdlets that allows you to manage Enterprise and Standalone Certification Authorities (CA) locally or remotely.
PowerBook Cmdlets Facebook PowerBook is the Facebook Module for Windows PowerShell. PowerBook allows you to use many of Facebook features and interact with Facebook via Windows PowerShell. PowerBook contain 24 PowerShell functions that allow you to do most of Facebook actions. PowerBook is the result of integration between Windows PowerShell and Facebook Developer’s Toolkit v3.0.
PowerChumby
Cmdlets
PowerChumby
PowerChumby is a Perl CGI script and a PowerShell module that gives you a PowerShell way of controlling your Chumby.
PowerDbg Cmdlets   PowerDbg is a PowerShell library that enables you to easily create PowerShell scripts to automate a WinDbg / CDB debugging session. You can use PowerDbg for Kernel Mode or User Mode, Post-Mortem debugging or Live Debugging and for native or managed code.
PowerEvents Cmdlets   PowerEvents is a Windows PowerShell v2.0 module designed to facilitate the ease of creating, updating, and deleting WMI (Windows Management Instrumentation) permanent event registrations. PowerEvents makes it easy to create WMI event filters (define the events you want to capture) and event consumers (responders to events), and then bind them together to initiate the flow of events. By leveraging permanent event registrations, you can perform advanced monitoring functions on a workstation or server, that would otherwise require implementation of an enterprise monitoring product. Because WMI is incredibly vast in the information it provides, very detailed monitoring can be performed using almost any of the WMI objects that exist on a computer.
PowerShell Admin Modules Cmdlets PAMSysInfo
PAMShares
PAMMath
PAMEnv
PAMDisks
PAMRestorePoint
PAMStability
PAMADSNAPHSOT
PAM supplies a number of PowerShell modules satisfying the needs of Windows administrators. By pulling together functions for administering files and folders; network connections, users and other admin related tasks you get a one stop shop for admin utilities.
PowerShell Community Extensions Cmdlets, Scripts, Providers   PowerShell Community Extensions (PSCX) is aimed at providing a widely useful set of additional cmdlets, providers, aliases, filters, functions and scripts for Windows PowerShell that members of the community have expressed interest in.
PowerShell EventLogWatcher Cmdlets   A PowerShell module that provides some additional functions to enhance PowerShell Eventing in relation to Windows Event Log events. Subscriptions can be made and actions taken when new events are written to a log. In a sense, this can be used as “poor mans” auditing system.
PowerShell Management Library for Hyper-V Cmdlets   A project to provide a PowerShell management library for Hyper-V
PowerShell Module for DHCP Cmdlets Microsoft.DHCP.`
PowerShell.Admin
This is a PowerShell module for the administration of Microsoft DHCP.
PowerShell Pack
(DEPRECATED - Please Use IsePackV2 instead)
Cmdlets, Scripts, Providers WPK Create rich user interfaces quick and easily from Windows PowerShell. Think HTA, but easy. Over 600 scripts to help you build quick user interfaces
TaskScheduler List scheduled tasks, create or delete tasks
FileSystem Monitor files and folders, check for duplicate files, and check disk space
ISEPack Supercharge your scripting in the Integrated Scripting Environment with over 35 shortcuts
DotNet Explore loaded types, find commands that can work with a type, and explore how you can use PowerShell, DotNet and COM together
PSImageTools Convert, rotate, scale, and crop images and get image metadata
PSRSS Harness the FeedStore from PowerShell
PSSystemTools Get Operating System or Hardware Information
PSUserTools Get the users on a system, check for elevation, and start-processaadministrator
PSCodeGen Generates PowerShell scripts, C# code, and P/Invoke
PowerShell Pipeworks Cmdlets, Web Hosting   Pipeworks Powerful web language built atop of PowerShell.  Build web sites, software services, and paywalls with PowerShell.  Built by James Brundage from Start-Automating
PowerShell Provider for BizTalk Server Cmdlets, Provider  

A Provider for powershell that allows to administrate your BizTalk Server.

PowerShell Script Provider Other   Write your own PowerShell provider using only script, no C# required. Module definition is provided by a Windows PowerShell 2.0 Module, which may be pure script, binary or a mix of both.
PowerTab Other   PowerTab offers enhanced tab expansion for PowerShell.
PowerTools for OpenXML Scripts   Combining the technologies of PowerShell and Open XML is a powerful and convenient way to do server-side document processing. The PowerTools for Open XML are sample source code and guidance for developers showing how to build PowerShell cmdlets that can create and modify Open XML documents. Also included are a number of examples of PowerShell scripts that use the cmdlets.
Remote Registry Cmdlets PSRemoteRegistry The Remote Registry module contains 21 functions to create, modify or delete registry subkeys and values on local or remote computers.
ScriptCop Cmdlets  ScriptCop

ScriptCop is a tool to help make sure your scripts follow the rules. ScriptCop performs static analysis on your PowerShell. It doesn't run your code, but it examines your code for a set of well-known problems. You can write custom rules in ScriptCop, but it comes with a number of pre loaded rules.

SCSM PowerShell Cmdlets (SMLets) Cmdlets   This project provides cmdlets for System Center Service Manager 2010 which can be used to automate common tasks.
SharePoint Management PowerShell scripts Scripts   This project site stores all the PowerShell scripts developed for SharePoint farms (WSS or MOSS) management.
Each script is available independently and can be modified as desired
ShareUtils Cmdlets ShareUtils With this module you will be able to list, create and remove shared folders, and also set their permissions.
ShowUI Cmdlets ShowUI ShowUI is a PowerShell module to help build WPF user interfaces in script. ShowUI makes the complicated world of WPF easy to use in PowerShell. You can use ShowUI to write simple WPF gadgets, quick front ends for your scripts, components, and full applications.
Merger of PowerBoots and WPK.
SQL Server PowerShell Extensions Cmdlets, Scripts   The primary goal of SQL Server PowerShell Extensions (SQLPSX) is to provide intuitive functions around the SMO objects which are backward compatible with SQL 2000. A secondary goal is to provide an application which reports flatten/effective security settings.
Terminal Services Cmdlets PSTerminalServices The PSTerminalServices module contains functions to manage Terminal Services sessions and processes (including Remote Desktop connections).
Vexasoft Cmdlet Library Cmdlets   The Vexasoft Cmdlet Library is a collection of powerful new Windows PowerShell cmdlets designed to allow you to quickly and easily accomplish everyday tasks across your entire Microsoft estate.
VIProperties Scripts VIProperties  Enables you to add properties to VMware PowerCLI entities.
Windows Automation Snap-In Cmdlets   WASP is a PowerShell snapin for Windows Automation tasks like selecting windows and controls and sending mouse and keyboard events. We have automation cmdlets like Select-Window, Select-Control, Send-Keys, Send-Click, Get-WindowPosition, Set-WindowPosition, Set-WindowActive, Remove-Window ... etc.
Windows Installer PowerShell Module Cmdlets   Exposes Windows Installer functionality to PowerShell, providing means to query installed product and patch information and to query views on packages.
Windows Update Cmdlets PSWindowsUpdate The PSWindowsUpdate module allows you to manage Windows Update on your computer. The module contain set of function to check, download and install or remove update from local machine.
WSUS Admin Cmdlets   This module allows you to manage WSUS from PowerShell. You can approve/decline updates, perform synchronizations, add/remove clients from a target group, create/delete Target groups and much more with currently 48 advanced functions.
Windows Azure PowerShell Cmdlets Azure This module allows you to manipulate Windows Azure subscriptions. You can use the cmdlets to create, test, deploy, and manage solutions and services delivered through the Windows Azure platform.

 

Other Languages

This article is also available in the following languages:

 

Leave a Comment
  • Please add 4 and 7 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Comments
  • Carsten Siemens edited Revision 43. Comment: Fixed misspelling

  • Ed Price - MSFT edited Revision 36. Comment: Casing of "PowerShell"

  • Ed Price - MSFT edited Revision 39. Comment: White space tweaks. Added tags.

  • StartAutomating edited Revision 44. Comment: Updating list with various Start-Automating modules, and accrediting my modules appropriately.

  • Vasily Gusev edited Revision 4. Comment: Some additions

  • Pronichkin edited Revision 12. Comment: added [[Windows PowerShell]] link on top

  • Arposh edited Revision 13. Comment: Modified column widths for easier reading.

  • Vasily Gusev edited Revision 14. Comment: Removed duplicate entry

  • Vasily Gusev edited Revision 17. Comment: Added Vexasoft cmdlets

  • Vasily Gusev edited Revision 19. Comment: Added kerberos module

Page 1 of 2 (19 items) 12
Wikis - Comment List
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Richard Mueller edited Revision 41. Comment: Added tag

  • Richard Mueller edited Revision 42. Comment: Replaced RGB values with color names in HTML to restore colors

  • Carsten Siemens edited Revision 43. Comment: Fixed misspelling

  • Ed Price - MSFT edited Revision 36. Comment: Casing of "PowerShell"

  • Ed Price - MSFT edited Revision 39. Comment: White space tweaks. Added tags.

  • StartAutomating edited Revision 44. Comment: Updating list with various Start-Automating modules, and accrediting my modules appropriately.

  • Trevor Sullivan edited Revision 45. Comment: Updated to include Windows Azure PowerShell module

  • Raimund Andrée edited Revision 46. Comment: Added AutomatedLab Module

  • Hello ,

    How can execute Powershell  Commands like GET-VM using C# Application?

    I have Create a Application when Execute GET-VM command using C# then error coming like "The term 'GET-VM' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. "

    Code  

    public string ExecuteCmdLets()

           {

               Runspace remoteRunspace = RunspaceFactory.CreateRunspace();

               remoteRunspace.Open();

               StringBuilder stringBuilder = new StringBuilder();

               using (PowerShell powershell = PowerShell.Create())

               {

                   powershell.Runspace = remoteRunspace;

                   powershell.AddCommand("Date");

                   powershell.Invoke();

                   Collection<PSObject> results = powershell.Invoke();

                   remoteRunspace.Close();

                   foreach (PSObject obj in results)

                   {

                       stringBuilder.AppendLine(obj.ToString());

                   }

               }

              return stringBuilder.ToString();

           }

    Error :-The term 'GET-VM' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

    Thanks

    Alok Kumar Sharma

  • Cool wiki, thank you!

  • Vasily Gusev edited Revision 4. Comment: Some additions

  • Vasily Gusev edited Revision 5. Comment: Sorted table by alphabet

  • Pronichkin edited Revision 7. Comment: Table heading formatting

  • Shay Levi edited Revision 9. Comment: updated links for some modules

  • Pronichkin edited Revision 11. Comment: Added links for similar tables to the top

Page 1 of 3 (43 items)