{"next_page":"https://api.tophhie.cloud/blog/posts?page=2","posts":[{"id":"01M25XZVZJ91DGYQGQF4YK7NWQ","slug":"why-i-built-sigil-and-why-it-checks-its-own-work","title":"Why I built Sigil, and why it checks its own work","excerpt":"Email signatures tend to be the bit of Microsoft 365 nobody checks","url":"https://blog.tophhie.cloud/posts/why-i-built-sigil-and-why-it-checks-its-own-work","created_at":"2026-09-10T15:11:44.114Z","updated_at":"2026-09-10T15:36:22.470Z","published_at":"2026-09-10T15:31:15.209Z"},{"id":"01M16E1K7FQMNMZAVX5MBKMWD4","slug":"marvelist-2-12","title":"Marvelist 2.12: voice notes, and the Watch feature I almost shipped half broken","excerpt":"Marvelist can now record voice notes on iPhone, iPad, Apple Watch, and the web. Premium adds automatic on-device transcription, including recordings made on Apple Watch, which very nearly didn't make it into this release.","url":"https://blog.tophhie.cloud/posts/marvelist-2-12","created_at":"2026-08-29T09:36:36.079Z","updated_at":"2026-08-29T09:59:07.324Z","published_at":"2026-08-29T09:59:07.324Z"},{"id":"01M165MZDAQ3K201RM9WY2PNRC","slug":"ghost-to-emdash-migration","title":"Ghost to EmDash: 2,644 Posts, and Why I Stopped Trusting My Logs","excerpt":"I moved this blog off self-hosted Ghost onto EmDash, running on Cloudflare Workers. The data moved fine. It was the measuring that kept going wrong: a bounded index, a plugin that made every write take a minute, and a verification query that lied to me for hours.","url":"https://blog.tophhie.cloud/posts/ghost-to-emdash-migration","created_at":"2026-08-29T07:09:53.962Z","updated_at":"2026-08-29T07:19:07.700Z","published_at":"2026-08-29T07:19:07.700Z"},{"id":"01M14GVEDC0X6TVW24BT1FTF50","slug":"script-force-domain-controller-replication","title":"Script: Force Domain Controller Replication","excerpt":"Made a change to Active Directory that you need replicating right now! Use this script.","url":"https://blog.tophhie.cloud/posts/script-force-domain-controller-replication","created_at":"2026-08-28T15:47:11.404Z","updated_at":"2026-08-28T16:07:02.944Z","published_at":"2020-02-18T10:40:00.000Z"},{"id":"01M14GVE0K0XXVGT0G7GKBEXPF","slug":"your-teams-meeting-recordings-are-moving","title":"Your Teams meeting recordings are moving...","excerpt":"Microsoft is changing where your Microsoft Teams meeting recordings are stored... Find out more here!","url":"https://blog.tophhie.cloud/posts/your-teams-meeting-recordings-are-moving","created_at":"2026-08-28T15:47:10.995Z","updated_at":"2026-08-28T16:07:01.972Z","published_at":"2020-09-22T19:11:00.000Z"},{"id":"01M14GVDPV1XRJWRBAVWK8JPPS","slug":"carrying-out-exchange-online-content-deletion","title":"Carrying out Exchange Online Content Deletion","excerpt":"In this article, I'll show you how to carry out a global search on every mailbox in an Exchange Online organisation, and delete that content from all mailboxes.","url":"https://blog.tophhie.cloud/posts/carrying-out-exchange-online-content-deletion","created_at":"2026-08-28T15:47:10.683Z","updated_at":"2026-08-28T22:00:07.458Z","published_at":"2020-06-03T18:59:00.000Z"},{"id":"01M14GVBQYBXC9TV7K2WJ3KWT0","slug":"change-upn-of-all-microsoft-365-users","title":"Change UPN of All Microsoft 365 Users","excerpt":"Here’s a useful script you can use when you need to change the UPN and primary email address of all your users in a Microsoft 365 Tenant.","url":"https://blog.tophhie.cloud/posts/change-upn-of-all-microsoft-365-users","created_at":"2026-08-28T15:47:08.670Z","updated_at":"2026-08-28T21:48:02.702Z","published_at":"2022-11-22T11:15:05.000Z"},{"id":"01M14GVBBE0RC04FZ4G0HG8ZBH","slug":"monitor-the-exchange-online-managed-folder-assistant-with-powershell","title":"Monitor the Exchange Online Managed Folder Assistant with PowerShell","excerpt":"The Managed Folder Assistant in Exchange is responsible for applying and processing message retention settings your admin has configured in retention policies. Let's check to see when the MFA ran across our organisation...","url":"https://blog.tophhie.cloud/posts/monitor-the-exchange-online-managed-folder-assistant-with-powershell","created_at":"2026-08-28T15:47:08.270Z","updated_at":"2026-08-28T16:06:58.684Z","published_at":"2024-11-20T14:24:28.000Z"},{"id":"01M14GVAZXMQT7DKZ3M4CFZBYB","slug":"rotate-your-dkim-keys","title":"Rotate your DKIM Keys","excerpt":"As email admins, we often overlook one of the most important routine tasks in email administration... looking after our DKIM keys. They need rotating periodically, let's automate that.","url":"https://blog.tophhie.cloud/posts/rotate-your-dkim-keys","created_at":"2026-08-28T15:47:07.901Z","updated_at":"2026-08-28T16:06:57.894Z","published_at":"2024-11-20T21:31:47.000Z"},{"id":"01M14GV9720CACHN1ZT06CFH63","slug":"enable-windows-hotpatch-preview","title":"Enable Windows Hotpatch (Preview)","excerpt":"Announced at Microsoft Ignite 2024, Windows Hotpatch allows Windows Updates to be applied to devices, without the need for a restart. Let's get it enabled!","url":"https://blog.tophhie.cloud/posts/enable-windows-hotpatch-preview","created_at":"2026-08-28T15:47:06.082Z","updated_at":"2026-08-28T21:47:16.659Z","published_at":"2024-11-26T10:20:12.000Z"},{"id":"01M14GV8SJ8ZD30TDV668VCAZX","slug":"entra-id-id-converter-api","title":"Entra ID - ID Converter API","excerpt":"We have a new API for you to try out... it's the Entra ID - ID Converter. Convert Object IDs to SIDs or SIDs to Object IDs in seconds 🎉","url":"https://blog.tophhie.cloud/posts/entra-id-id-converter-api","created_at":"2026-08-28T15:47:05.650Z","updated_at":"2026-08-28T16:06:53.995Z","published_at":"2024-12-04T10:58:53.000Z"},{"id":"01M14GV8H2D1GFVNWM41GVBEE2","slug":"sharepoint-web-part-greetings","title":"Introducing \"Greetings\", a SharePoint Web Part!","excerpt":"We're excited to release our new SharePoint Web Part - Greetings 🎉","url":"https://blog.tophhie.cloud/posts/sharepoint-web-part-greetings","created_at":"2026-08-28T15:47:05.378Z","updated_at":"2026-08-28T21:48:00.302Z","published_at":"2024-12-17T14:03:20.000Z"},{"id":"01M14GV6NGA9QT97A7HA1WYVBJ","slug":"entra-id-tenant-information-api-updated","title":"Entra ID Tenant Information API - Updated! 🎉","excerpt":"We've updated the Entra ID Tenant Information API to include more key information.","url":"https://blog.tophhie.cloud/posts/entra-id-tenant-information-api-updated","created_at":"2026-08-28T15:47:03.472Z","updated_at":"2026-08-28T16:06:51.531Z","published_at":"2025-01-07T12:09:17.000Z"},{"id":"01M14GV60AGBR7BN1D51854B2Q","slug":"entra-id-tenant-information-api-sharepoint-support","title":"Entra ID Tenant Information API - SharePoint Support 🎉","excerpt":"We've added another two properties to the Entra ID Tenant Information API response, this time targeting SharePoint!","url":"https://blog.tophhie.cloud/posts/entra-id-tenant-information-api-sharepoint-support","created_at":"2026-08-28T15:47:02.794Z","updated_at":"2026-08-28T16:06:49.996Z","published_at":"2025-01-17T11:44:30.000Z"},{"id":"01M14GV5NY1B0R02N5VRY2GJB2","slug":"entra-id-tenant-information-api","title":"Entra ID Tenant Information API","excerpt":"We've developed and rolled out a new API, that'll allow you to retrieve the Entra ID tenant information for a given tenant ID or domain name.","url":"https://blog.tophhie.cloud/posts/entra-id-tenant-information-api","created_at":"2026-08-28T15:47:02.462Z","updated_at":"2026-08-28T16:06:48.866Z","published_at":"2024-11-29T12:24:28.000Z"}]}