Blog Migration and AI Commitments
After 15+ years on WordPress, I’ve moved the blog to Hugo with the PaperMod theme, hosted on Azure Static Web Apps. Here’s why, and a note about AI on this blog.
After 15+ years on WordPress, I’ve moved the blog to Hugo with the PaperMod theme, hosted on Azure Static Web Apps. Here’s why, and a note about AI on this blog.

PowerShell’s Compare-Object is great for programmatic comparisons, but VS Code offers a better visual experience for complex objects.

Learn how to use the quickXorHash property in Microsoft Graph to identify duplicate files across OneDrive and SharePoint Online.
After years of ad-free blogging, I’m offering a way to support the site.

Reset-MgUserAuthenticationMethodPassword can be unintuitive. Here’s a working example for resetting Azure AD passwords with password writeback support.
Learn how to use the new SignInActivity attribute in Microsoft Graph to identify inactive user accounts in Azure AD.

A practical guide to using Send-MgUserMail for sending emails with attachments via Microsoft Graph PowerShell.

The Universal Print Connector doesn’t upload location and comments from on-premises printers. Here’s a script to map those fields.

A complete example of using Send-MgUserMessage with HTML body and file attachments via the Microsoft Graph PowerShell module.

A recorded webcast with Redmond Magazine covering essential post-migration setup tasks for Office 365 tenants.