Introducing the M365 Report Tools PowerShell Module

Introducing the M365 Report Tools PowerShell Module
The Why I often find the need to gather and extract data from various areas M365 for auditing or for project planning. I had the idea of putting together a PowerShell module containing wrapper functions for some of the most common reports I and colleagues ask for. I wanted to make the commands easy to discover and easy to use. I would like to introduce the M365.Report.Tools PowerShell module! What can it do?
Read more →

Update Business Voice to Teams Phone Licenses

Update Business Voice to Teams Phone Licenses
Microsoft has announced the retirement of Business Voice licensing . If your tenant is still using Business Voice with Calling Plan or Business Voice without Calling Plan, you will need to switch to the new equivalent Teams Phone plan. If you take a look at the Microsoft doc linked above, there are examples for how to update the licenses on bulk, however it is baffling Microsoft chose to demonstrate using the Azure AD PowerShell module, when the licensing portion of that module is slated to be retired as of today (6/30).
Read more →

O365 License Report With Friendly Names Using The Microsoft Graph

O365 License Report With Friendly Names Using The Microsoft Graph
In a previous article , I demonstrated how to export a license report for all users withe the ‘friendly’ license names using the AzureAD PowerShell module. Since then, Microsoft has announced the coming retirement of the AzureAD API (and assocaiated PowerShell modules). You should be migrating all scripts over to using the Microsoft Graph PowerShell SDK Here I will provide a sample script to demonstrate how to export a license report for all users in Azure AD utilizing the Microsoft Graph.
Read more →

Get Data from workstations and send to an Excel Table for free

Get Data from workstations and send to an Excel Table for free
Premise There are times when I encounter a situation where I want to gather some data from workstations and store it in a spreadsheet / table ect. for tracking purposes. Recently I was working with a client to deploy a cloud printing solution. The on prem print environment was somewhat complex with multiple shared printers some of which were locked down to AD security groups. I needed a way to get a pre-deployment printer inventory for each workstation, then compare a post deployment inventory.
Read more →

Working with the Microsoft Graph PowerShell SDK

Working with the Microsoft Graph PowerShell SDK
What is an API anyway? API stands for “Application Interface”. In simplest terms, APIs are services that bridge and allow two systems to interact. When we are talking about web services, such as those in M365, API usually refer to a REST API. I like this explanation from AWS: API architecture is usually explained in terms of client and server. The application sending the request is called the client, and the application sending the response is called the server.
Read more →