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.
- For the list of Windows features, roles, and technologies that are Windows PowerShell-enabled out of the box (i.e. not requiring any community or 3rd-party add-ons), see [[List of Windows Features and Roles that Take Advantage of Windows PowerShell]].
- For a list of other products (i.e. that are not Windows) both from Microsoft and 3rd-party vendors with native Windows PowerShell support, see [[PowerShell-enabled technologies]].
- For a list of miscellaneous links, see [[Automating IT Tasks with Windows PowerShell Overview]].
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 on 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 the 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 allows you to connect and manage the contents of the FTP account. Allow to get a 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 allow you to manage Enterprise and Standalone Certification Authorities (CA) locally or remotely. |
PowerBook | Cmdlets | 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 contains 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 are taken when new events are written to a log. In a sense, this can be used as a “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-process administrator | ||
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 administrating your BizTalk Server. |
|
PowerShell Script Provider | Other | Write your own PowerShell provider using the only script, no C# required. Module definition is provided by a Windows PowerShell 2.0 Module, which may be the 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 is 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. | |
PSReadLine | Module | PSReadLine | This PSReadLine module replaces the command line editing experience in PowerShell.exe. It provides:
|
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 the 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.
The 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 contains a set of function to check, download and install or remove the update from the local machine. |
PoshWSUS | 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 68 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. |
SBTools module | Cmdlets | SBTools | The module has different Cmdlets to check VM VHD disks, test disk IO performance, get disconnected RDP sessions, get VHD disk path of a VM drive,... |
Export-ADUsers | Cmdlets | Export-ADUsers | Export-ADUsers is an advanced PowerShell function that allows you to run the Active Directory user report by supplying parameters. SearchLoc parameter specifies the OU to search, CSVReportPath specifies the path to your CSV report and ADServer specifies Domain Controller to query. |
Get-FreeDiskSpace | Cmdlets | Get-FreeDiskSpace | Get-FreeDiskSpace is Advanced PowerShell function: Reports free disk spaces on servers. Reports on a single server or servers from a text file. The function accepts parameters: -Servername: reports on a single server while -Serverfile reports on multiple servers from a text file. Report on a single server is displayed on the console while the report on multiple servers is stored on a CSV file. |
Azure PowerShell Az module | Cmdlets | Starting in December 2018, the Azure PowerShell Az module is in general release and now the intended PowerShell module for interacting with Azure. Az offers shorter commands, improved stability, and cross-platform support. Az also offers feature parity and an easy migration path from AzureRM. |
See Also
Other Languages
This article is also available in the following languages: