PSSharedGoods – PowerShell Module

PSSharedGoods is little PowerShell Module that primary purpose is to be useful for multiple tasks, unrelated to each other. I've created this module as “a glue” between my other modules. I've noticed the more I build my modules, the more I use the same stuff and it became apparent I've two choices. Keep 3 or more versions of the same function across all my modules or export functions to separate module and bundle this module together. I chose the second option. This module currently is used by following modules

PSWriteWord – module to create Microsoft Word documents without Word being installed.
PSWriteExcel – cross-platform module to create Microsoft Excel documents without Excel being installed.
PSWinDocumentation – module to build documentation for Active Directory, Office 365 (Azure AD, Exchange Online), Exchange, Teams
PSWinReporting – module to create reports and provide monitoring of Security Events
PSAutomator – proof-of-concept module for onboarding, offboarding and business as usual
Many others… I do have rather large portfolio

The module has over 120 functions. Some of those functions are relatively simple, some are bad, and some are quite ok. The most important part they work for me and my modules, and I use them. If I ever need to fix something, I fix it in one place and it auto-updates itself in multiple modules. So if you're looking at its code base, be gentle. If you want to help and fix something be my guest. Only thing I ask it has to keep functionality and naming convention to not break existing modules.

Note worthy features
Connectivity to Office 365
Connectivity to Exchange On-Premises
Many object manipulations
Some dates coverage
Convert methods
Useful links
The code is published on GitHub
Issues should be reported on GitHub
Code is published as a module on PowerShellGallery
Modules using PSSharedGoods

Currently, there are over 120 functions that are part of PSSharedGoods. Feel free to explore GitHub Sources and check if you have anything you would like to use. Below you can find articles that use those functions and have them described.

Function Convert-Office365License – It can convert licenses for Office 365 both ways. From SKU to FullName and vice versa.
Function Convert-ExchangeSize – It can convert Exchange Online, Exchange 2013/2016 values into KB, MB, GB, TB sizes
Function Convert-ExchangeEmail – It can convert returned email addresses into readable form
Function Set-PasswordRemotely – This little function does magic trick of changing password remotely even if you don't have a domain-joined computer and can't login to computer via RDP
Required prerequisites

Before you can use this script, you need to do a few manual steps. Since this script is published as a module, it's quite easy to set this up. Just execute the command below (accept warnings) .. and you can test it out.

Install-Module PSSharedGoods

#Update-Module PSSharedGoods

You can of course install everything manually from GitHub (as everything is published there) but it will be far easier to just use Install-Module.

Quick fixes / helpful tips