During the course of time, you add modules to your system, some are crucial for the things you work on and some were used only once 😉 In this blog post, I will show you my current list of modules and tell you why I use(d) them…
My currently installed modules
Below is the list of the modules that I have installed at this moment, I will pick a few and tell you why you need these on your system. Of course, things like MS Graph, Exchange Online Management, and other 365 or Azure modules are also among my favorites 😉
ActiveDirectory AIPService AppBackgroundTask AppvPkgConverter AppvSequencer AssignedAccess AutoSequencer Az Azure.AnalysisServices Azure.Storage AzureAD AzureADPreview AzureRM AzViz BitLocker BitsTransfer BranchCache CimCmdlets ConfigDefenderPerformance Configuration CredentialManager DefenderPerformance DeliveryOptimization DFSN DirectAccessClientComponents Dism DnsClient DnsServer DSCParser EventTracingManagement ExchangeOnlineManagement Get-NetView HgsClient HgsDiagnostics Hyper-V International IntuneBackupAndRestore IntuneDocumentation IntuneWin32App Kds LanguagePackManagement M365Documentation Microsoft.Graph Microsoft.Online.SharePoint.PowerShell Microsoft.PowerApps.Administration.PowerShell Microsoft.PowerShell.Archive Microsoft.PowerShell.Crescendo Microsoft.PowerShell.Diagnostics Microsoft.PowerShell.Host Microsoft.PowerShell.LocalAccounts Microsoft.PowerShell.Management Microsoft.PowerShell.Operation.Validation Microsoft.PowerShell.SecretManagement Microsoft.PowerShell.SecretStore Microsoft.PowerShell.Security Microsoft.PowerShell.Utility Microsoft.PowerShell.WhatsNew Microsoft.RDInfra.RDPowershell Microsoft.Windows.Bcd.Cmdlets Microsoft.WSMan.Management Microsoft365DSC MicrosoftTeams MMAgent MSAL.PS MSCloudLoginAssistant MSCommerce MSGraph MSGraphFunctions MSOnline NetAdapter NetConnection NetEventPacketCapture NetLbfo NetNat NetQos NetSecurity NetSwitchTeam NetTCPIP NetworkConnectivityStatus NetworkSwitchManager NetworkTransition NFS oh-my-posh ORCA PackageManagement PcsvDevice Pester PKI PnP.PowerShell PnpDevice posh-git powershell-yaml PowerShellGet PrintManagement ProcessMitigations Provisioning ps2exe PSDiagnostics PSFramework PSGraph PSParseHTML PSReadLine PSSlack PSWindowsUpdate PSWord PSWriteWord ReverseDSC ScheduledTasks SecureBoot Sequencer SharePointPnPPowerShellOnline SmbShare SmbWitness SqlServer StartLayout Storage StorageQoS Terminal-Icons ThreadJob TLS TroubleshootingPack TrustedPlatformModule UEV VpnClient Wdac Whea WindowsAutoPilotIntune WindowsConsoleFonts WindowsDeveloperLicense WindowsErrorReporting WindowsSearch WindowsUpdate WinGet
And yes, that’s an extensive list 🙂 A lot are just there because they come with Windows components/installation, but I think there are a few worth mentioning in the chapters below.
More options are available now for backing up, comparing, or restoring your Intune configuration but this module from John Seerden (https://github.com/jseerden/IntuneBackupAndRestore) just works for me. Great for restoring your configuration in a new (test) tenant or for reporting on what was changed if there are issues in your customer’s environment 😉
This module allows organizations to automate the deployment, configuration, reporting, and monitoring of Microsoft 365 Tenants via PowerShell Desired State Configuration. The compiled configuration needs to be executed from an agent’s Local Configuration Manager (LCM) (machine or container) which can communicate back remotely to Microsoft 365 via remote API calls (therefore requires internet connectivity)
That’s a copy/paste from the GitHub page https://github.com/microsoft/Microsoft365DSC , it’s great for importing/exporting/comparing tenant information/configuration. For more information and how to install it, please visit https://microsoft365dsc.com/
Make your PowerShell prompt look nice using this module from Jan de Dobbeleer (https://github.com/JanDeDobbeleer/oh-my-posh) You can customize it in so many ways, example screenshot:
Note: The install-module method.it’s deprecated, see https://ohmyposh.dev/docs/migrating for more information. Easier to install it using Winget install JanDeDobbeleer.OhMyPosh
This shows the GIT status in your PowerShell session while working on things in your repository, it also helps you with GIT commands because TAB works (git ch + tab changes to git checkout for example). Example screenshot below:
Use install-module posh-git to install module from Keith Dahlby / https://github.com/dahlbyk/posh-git .
This module was part of PSWriteHTML, but you can use it for getting certain data from webpages easily. I have used it in a few scripts that I posted here, for example in the Message of the Day script (here). It has the following functions:
- ConvertFrom-HTMLAttributes (aliases:
I used the ConvertFrom-HTMLClass to get data from a certain HTLM class, which makes scraping data so much easier 🙂 Install the module from EvoTec IT / https://github.com/EvotecIT/PSParseHTML by running install-module PSParseHTML.
This module from M. Scholtes (https://github.com/MScholtes/PS2EXE) allows you to save PowerShell scripts as an executable. Great for running things in closed environments or when you don’t want to share the contents of a script. Install it using install-module ps2exe. But there’s one problem, see the note below…
Note from the author:
Some (really) stupid idiots seem to have abused PS2EXE to compile their computer virus scripts. As a result, a rapidly growing number of virus scanners recognize programs created with PS2EXE as malicious programs and delete them.
There is only one hope to save the PS2EXE project: Please send your (harmless) programs created with PS2EXE via the web forms from the virus scanners’ vendors for reporting false positives (I’ve already done it with some of them, please use only the false positive page)!
By installing this module you get colors and icons in your directory listings, see example screenshot below:
This module from Brandon Olin (Devblackops) can be installed running install-module Terminal-Icons, for more information check out https://github.com/devblackops/Terminal-Icons
What modules do you use?
These were just a few of my currently installed modules, which ones do you use? Tips? Let me know 🙂
13 thoughts on “Favorite PowerShell modules that I use”
No, didn’t have to use it yet 🙂
Yep. +1 on that comment. I was surprised at no ImportExcel. Top notch module.
It looks like a good one indeed, but I just haven’t have to use it personally. I export and import a lot of csv data, but that could also be xlsx if needed
Especially if you are export-csv for reports export-excel -AutoSize -BoldTopRow -FreezeTopRow just for starters is the way to go. Then add conditional formatting, tables to include style FTW IMHO
Also, I removed AzureAD a few months ago as Microsoft.Graph is the way to go.
I will try next time that when I need to report data 🙂 And yes, switching to Microsoft Graph too for my newer scripts. Nice to see that there is a standard way for things now with permission scopes etc.
Thanks for sharing your list! FYI, the oh-my-posh module is deprecated and no longer used. See https://ohmyposh.dev/docs/migrating.
No problem, thanks and adjusted the chapter to reflect that 😊And mentioned the method to install it using winget install JanDeDobbeleer.OhMyPosh
Pingback: Endpoint Manager Newsletter - 7th October 2022 - Andrew Taylor
Big and useful list. Surprise , ImportExcel, PSWriteHtml, and NTFSSecurity PS Modules are not in the list.
Take a look on the module EZLog (see this : https://github.com/apetitjean/EZLog). Only one cmldet to know to have a display in the console with color and export to a log file.
Ah, nice additions and will check those!
Love these modules.
Ah, started using NTFSSecurity a while back too 🙂 Nice list!