About UcmPSTools
Last updated
Last updated
UcmPSTools is a collection of PowerShell functions to ease the administration of Microsoft Teams Unified Communications features and its related services. If you're a Teams Voice engineer or transitioning from Skype for Business to Teams, you should find many of these functions useful.
This initially started out as a scratch pad for my commonly used UC-related functions. I took it as an opportunity to centralize much of the code I use in my daily work. Instead of just building things bespoke for me, I decided to clean all the functions up, heavily document them and release them on the for you all to enjoy.
Create simplistic logs and reporting for your own scripts ()
Automatically manage Teams-related Office365 connections ()
Add and Remove licences for Office365 with reporting ()
Manage Service Plans, AKA Office 365 "Apps" ()
Automate the creation, licencing and configuration of Call forwards and AutoAttendants ()
Create and licence, Resource accounts, Common area phones and meeting room accounts! ()
Sanitise usernames from customer lists (Find-UcmSuppliedUserDetails)
Audit existing Skype4B number ranges for migration to Teams ()
Most of the functions in this module will return an PSCustomObject
indicating the success or failure of each function and some descriptive text along with it. Detailed descriptions of the output of each function can be found in each function's documentation or in the included comment-based help.
If the function you are calling is working with multiple objects, then an array will be returned with multiple objects identified by their unique attribute, such as SIP Address. (presently, no function does this, but I am planning on multiple object support for many cmdlets. See the private folder for more.)
The creds.xml file may be generated by any of the New-*Connection cmdlets and allows for auto reconnection should a session drop mid-user migration This file is encrypted with a per-user encryption key provided by Windows. These files are not portable and cannot be moved from one machine to another, or from one user profile to another.
Whilst a Creds.xml is encrypted. It should be looked after like a certificate, should your user profile be compromised it is possible for someone to write a script and execute it in your profile to retrieve the stored credentials.
With that sorted, you should probably jump over to the cmdlet reference to see what each of the functions can do!
As this module was designed to run as part of automation, it has been designed to hold on to creds and tokens as long as it can. As such great care should be taken to ensure that the scripts are unmodified before using them. Either download this directly from my GitHub Repo or from the PowerShell Gallery