Table of Contents
Update #18 for Our PowerShell eBook

As we normally do to free time to build the monthly update for the Office 365 for IT Pros eBook, we have released the monthly update (version 18) of the Automating Microsoft 365 with PowerShell eBook. This eBook is available separately or as part of the Office 365 for IT Pros package. The version number is clearly indicated on the inside front cover and in the footer of each page.
Subscribers can download the updated PDF and EPUB files using the link in the receipt emailed to them after their purchase. The link always fetches the latest book files.
We’ve also updated the paperback edition of Automating Microsoft 365 with PowerShell. The revised paperback should now be available. No updates are offered for this edition, so what’s printed on the pages is what you get. Even so, we still reckon that the printed content is well worth the price. 400 pages of PowerShell goodness, including hundreds of examples of how to use PowerShell and the Microsoft Graph APIs to automate Microsoft 365 processes.
Monthly Updates in Automating Microsoft 365 with PowerShell
Just like the main book, the monthly update for the PowerShell eBook includes a mix of minor changes, corrections, and new features. Probably the biggest new feature is the ability to restore soft-deleted security groups, just like it’s been possible to do for Microsoft 365 Groups since 2016. Given the widespread use of security groups (including dynamic security groups) to control other Entra policies, like group-based license assignment, it’s very welcome to have the ability to rescue a deleted group after an error resulted in its removal.
Another change is that the default app management policy can now be updated through the Entra admin center. This is important because the policy controls details such as whether apps can use app secrets for authentication (a horrible idea in production). Custom app management policies, which override the default tenant policy, can still only be managed through PowerShell.
Updated PowerShell Modules
During November Microsoft issued updates for the Microsoft Teams module (to V7.5) and the Microsoft Graph PowerShell SDK (V2.32). Apart from some cmdlet changes that might lead to being able to change the ownership of a meeting recording from the current default (the meeting organizer), there’s not much to say about the new Teams module. The assembly clash with the Microsoft Graph PowerShell SDK still exists.
Speaking of the SDK, it’s good to see that Microsoft has started to burn down the Microsoft Graph PowerShell SDK open issues list, which had got to a rather alarming level of well over 200 known problems. Some issues go back to the bad old days when SDK releases were bedevilled with poor quality, but that’s no reason not to investigate, fix (if necessary), and close the problems.
In any case, I believe that V2.31 and V2.32 are stable releases. Many of the issues reported for earlier releases are fixed and I haven’t encountered any big issues since I installed V2.32. When updating the SDK, make sure to consider the SDK modules loaded as resources into Azure Automation runtime environments too, and remember that the version of the Microsoft.Graph.Authentication module dictates the required version for all the other SDK in that runtime environment.
On to Version 19
The evidence that Microsoft 365 is in a state of constant flux is evident to anyone who looks through the message center in the Microsoft 365 admin center. The same is true for PowerShell even if the change is different nature and it’s spread across multiple modules and PowerShell itself. More importantly, change comes through acquired knowledge, which we hope to capture some of in Automating Microsoft 365 with PowerShell. Enjoy the book!