Updated February 28, 2023
Introduction to PowerShell Modules
PowerShell module is a package that contains various commands such as functions, cmdlets, aliases, parameters, workflow, and providers. There are predefined modules and installed default with each PowerShell version. With every new PowerShell version, more enhanced modules are added and loaded automatically. For example, from PowerShell 3.0, modules are automatically imported when you run any command in all installed modules. You can get all the installed modules on your computer with the below command. The list of modules you get depends upon the PowerShell version installed.
Get-Module -ListAvailable
From a particular module, you can get all their commands by,
Get-Command -Module ModuleName
Wildcard character (*) is allowed in ModuleName.
Modules are so flexible that you can create your module with your own sets of commands and publish them to the other computers and servers for usability.
PowerShell modules can be found and installed at the below location to be available to other users and in different profiles.
$env:PSModulePath -split ';'
PowerShell Modules
There are some default and imported third-party modules available in PowerShell on the above path. Here, we are going to explain the default modules in PowerShell 5.1.
Below is a short description of each module.
1. AppLocker
This module is designed for the administration of application control policies. The cmdlets can be used to help the author test, maintain, and troubleshoot application control policies. AppLocker user interface that is accessed through the MMC snap-in extension to the Local Security Policy Snap-in and group policy management console.
Get-Command -Module AppLocker
2. AppBackgroundTask
This module contains cmdlets for all the app background tasks.
Get-Command -Module AppBackgroundTask
3. Appvclient
This module is for the Microsoft Application Virtualization cmdlets.
Get-Command -Module AppVClient
4. AssignedAccess
This cmdlet is designed to provide restricted access to specific user accounts. When assigned access is configured to users, then they can use only one application from the windows store but can’t modify the application or system settings, exit or sign out of the application.
Get-Command -Module AssignedAccess
5. BitLocker
This module provides a cmdlet for BitLocker encryption technology. BitLocker is used to encrypt hard drives to prevent data from stealing when connected to another computer.
Get-Command -Module BitLocker
6. BitsTransfer
BITS (Background Intelligence Transfer Service) is the modern way to transfer a file between the windows computer system with an idle bandwidth whenever there is no application utilizing the bandwidth. In case of any disruption, it pauses the transfer and resumes again whenever there is a network or client machine availability.
Get-Command -Module BitsTransfer
7. CimCmdlets
CimCmdlets use several commands for remoting and are very helpful over legacy WMI cmdlets. First, it supports the auto-completion, and second, the use of WS-Management protocol, but this module also has some limitations.
Get-Command -Module CimCmdlets
8. Defender
Windows Servers and other versions of Windows operating systems have a built-in antivirus feature called the Windows Defender, and this cmdlet provides command base management of the antivirus features.
Get-Command -Module Defender
9. DeliveryOptimization
This module is introduced in Windows 10 and its later versions 1709 and 1803. Delivery optimization is a new form of download and sharing technology in comparison to BITS. It has some additional capabilities like storing and sharing content on the intranet and internet.
Get-Command -Module DeliveryOptimization
10. DISM
Deployment Image Servicing and Management (DISM) in PowerShell provides the same functionality asdism.exe in cmd.
Get-Command -Module Dism
11. DnsClient
With this module, you can get and modify DNS client-related settings on the local system and remote systems.
Get-Command -Module DnsClient
12. International
PowerShell module to get and set the computer’s regional language and culture that was provided at the time of installation of an operating system.
Get-Command -Module International
13. iSCSI
PowerShell module to get/update/remove/add iSCSI storage devices.
Get-Command -Module iSCSI
14. Microsoft.PowerShell.Archive
PowerShell module to compress files or folders to the ZIP file and extract the archive files and folders.
Get-Command -Module Microsoft.PowerShell.Archive
15. Microsoft.PowerShell.Host
Module to record PowerShell session output and store it in a text file.
Get-Command -Module Microsoft.PowerShell.Host
16. Microsoft.PowerShell.Management
PowerShell module with miscellaneous cmdlets for managing computers or servers. For example, create a mapped drive, get /start/ stop services or processes, get the local and remote computer information, and many more.
Get-Command -Module Microsoft.PowerShell.Management
17. Microsoft.PowerShell.LocalAccounts
This module is to retrieve, create, delete, and modify local users and groups. For example, add new users to new local groups, change account expiry and password for the local user, enable or disable local users, etc.
Get-Command -Module Microsoft.PowerShell.LocalAccounts
18. Microsoft.PowerShell.Operation.Validation
The operation validation framework is used to test the installed modules. In addition, diagnostic folders are inspected for the pester tests for the simple or comprehensive subfolder, or both.
Get-Command -Module Microsoft.PowerShell.Operation.Validation
19. Microsoft.PowerShell.Security
This module contains Windows files and folders security cmdlets. For example, getting and setting security permissions for files and folders, protecting password strings, protecting/unprotecting CMS messages, etc.
Get-Command -Module Microsoft.PowerShell.Security
20. Microsoft.PowerShell.Utility
Module with miscellaneous cmdlets and functions. For example, export/import CSV files, format the PowerShell console output, add/remove the properties of the output table, etc.
Get-Command -Module Microsoft.PowerShell.Utility
21. Microsoft.PowerShell.Diagnostics
This PowerShell module provides cmdlets to diagnose windows related stuff. For example, evaluating the performance counter, getting windows events from the event-viewer, etc.
Get-Command -Module Microsoft.PowerShell.Diagnostics
22. Microsoft.WSMan.Management
This module provides access to WS-Management (Web Service for Management). With this module cmdlets, you can add, clear, change and delete WS-Management data on local and remote computers.
Get-Command -Module Microsoft.WSMan.Management
23. MsDtc
This module provides cmdlets for the Microsoft Distributed Transaction Coordination (MsDtc).
Get-Command -Module MsDtc
24. NetAdapter
This module provides cmdlets to get, add, remove, and change the network adapter properties.
Get-Command -Module NetAdapter
25. Net connection
This module provides cmdlets to get and set the network connection profile associated with one or more physical adapters.
Get-Command -Module NetAdapter
26. NetEventPacketCapture
This module’s cmdlets are used to get, add and remove network adapters associated with the remote capture provider for a network event session.
Get-Command -Module NetAdapter
27. Aa. Netlbfo
This module provides cmdlets for all NIC teaming-specific operations like removing, creating, or modifying the properties.
Get-Command -Module NetLbfo
28. NetSecurity
This module provides cmdlets for Network Security related configuration changes and data retrieval. For example, it can set the Windows OS firewall settings, apply and modify rules, set new firewall rules, etc.
Get-Command -Module NetSecurity
29. NetTCPIP
This module provides Network TCP/IP configuration functionality like Network IP interface configuration, IP configuration, finding the best route for the host, removal of IP / Interface, etc.
Get-Command -Module NetTCPIP
30. NetworkConnectivityStatus
This module provides the cmdlets for network connectivity status.
Get-Command -Module NetworkConnectivityStatus
31. NetworkSwitchManager
This module provides the cmdlets for the management of Network switches.
Get-Command -Module NetworkSwitchManager
32. PCSVDevice
This module contains cmdlets to support Out-of-Band management and to manage IPMI devices.
Get-Command -Module PcsvDevice
33. PKI
This module deals with PKI and Active Directory Certificate Management.
Get-Command -Module PKI
34. PnPDevice
This module provides cmdlets and functions to manage Plug n Play (PnP) devices.
Get-Command -Module PnpDevice
35. PrintManagement
This module provides cmdlets to manage local and remote printers.
Get-Command -Module PrintManagement
36. PSDesiredStateConfiguration
This module provides cmdlets and functions related to DSC resources.
Get-Command -Module PSDesiredStateConfiguration
37. PSDiagnostics
This module contains functions to troubleshoot PowerShell functionality, and it can also log events to event viewers.
Get-Command -Module PSDiagnostics
38. PSScheduledJob
This module provides commands to manage the background job. For example, you can create, remove, register, and trigger jobs, etc.
Get-Command -Module PSScheduledJob
39. PSWorkFlow&PSWorkFlowUtility
PSWorkFlow module provides cmdlets to write and run the workflows.
Get-Command -Module PSWorkflow
Get-Command -Module PSWorkflowUtility
40. ScheduledTasks
This module provides functions to administer and manage the scheduled tasks.
Get-Command -Module ScheduledTasks
41. SecureBoot
This module provides cmdlets related to the secure boot of your system. For example, check if secure boot is enabled for your system to use Confirm-SecureBootUEFI.
Get-Command -Module SecureBoot
42. SmbShare
This module provides cmdlets specific to SMB (Server Message Block) share. You can create, remove, enable, disable SMB Share, and provide/remove users’ permissions on them.
Get-Command -Module SmbShare
43. SMBWitness
This module retrieves the information about the SMB clients connected to SMB witness servers in the cluster and moves the SMB connection to the specified cluster node.
Get-Command -Module SmbWitness
44. Storage
This module provides storage-specific functionality and cmdlets.
Get-Command -Module Storage
45. TLS
This module provides functionality to manage Transport Layer Security (TLS) related settings.
Get-Command -Module TLS
46. WindowsErrorReporting
Windows Error Reporting (WER) collects hardware and software problems on the system and sends it to Microsoft for Analysis. This module is available in PowerShell.
Get-Command -Module WindowsErrorReporting
47. WindowsSearch
You can get and set the Windows Search-related items with this PowerShell module.
Get-Command -Module WindowsSearch
Conclusion
You can create your PowerShell module with the packaging of different cmdlets and functions, and you can use them on multiple systems. There are also many modules that are not default installed but very helpful in administration jobs, and you can download them from PowerShell Gallery.
Recommended Articles
This is a guide to PowerShell Modules. Here we also discuss the Introduction and Various PowerShell modules along with syntax and examples. You may also have a look at the following articles to learn more –