Welcome to the Jocha blog!

Change the Azure AD Sync Schedule

I finally I got some time to play with the new Azure Active Directory Sync tool and its configuration.

The installation was very straight forward. The step-by-step instruction are provided on MSDN. The administration tools and scripts are located in difference places compared to DirSync which was little confusing in the beginning.

Fix for slow “Downloads” folder in Windows 10

In the last couple of weeks I’ve been noticing that clicking the “Downloads” folder in Windows Explorer took a long time to load.
After a bit of research, it turns out Windows 10 tries to guess…

SCCM Client – Manual install and uninstall

You can deploy the SCCM client several ways, the most common being through SCCM, manual install via the ccmsetup.exe. This article describes how to install and uninstall the client manually.

Detect and Elevate a PowerShell session

We’ve set out to help a customer with automation within their IT department.
Some daily tasks require an elevated prompt, there is no way around it. But it’s not obvious how to check if the current prompt is elevated, or how to elevate the session. So here is a how-to…

Azure Backup Job Failed 0x1D4C2

Lately we’ve been getting a lot of inquiries regarding Azure Backup. One customer tried to set up the Microsoft Azure Recovery Services (MARS) agent, they experienced a problem where the backup job fails immediately…

Passwordless GitHub Actions to Azure with Federation

Passwordless GitHub Actions to Azure with Federation

Replace expiring client secrets in GitHub Actions with Workload Identity Federation. This walkthrough sets up an Entra ID App Registration, scoped federated credentials, and a clean azure/login step so your pipelines authenticate to Azure with short lived OIDC tokens.

Real-time Entra ID Break-glass Sign-in Alerts (Part 2)

Real-time Entra ID Break-glass Sign-in Alerts (Part 2)

Part 2 of the real-time Entra ID series. Stream sign-in logs through diagnostic settings to an Event Hub, consume them in the same Azure Function App, and page on duty the moment a break-glass UPN signs in or sign-in risk crosses a threshold.

Real-time Entra ID Group Alerts with Azure Functions (Part 1)

Real-time Entra ID Group Alerts with Azure Functions (Part 1)

Get notified the moment someone joins your Global Admins or a Tier 0 access group. Part 1 of a two-part series builds an Azure Function App that consumes Microsoft Graph change notifications, validates the webhook, and posts Teams alerts on every membership change.

End-to-End User Offboarding with Microsoft Graph PowerShell

End-to-End User Offboarding with Microsoft Graph PowerShell

Leavers retaining residual access is a chronic security risk. This walkthrough turns one HR row into a fully offboarded user with sessions revoked, mailbox converted to shared, OneDrive transferred to the manager, groups cleared, and licences released, all with a clean audit trail.

Automating Intune Win32 App Packaging with GitHub Actions

Automating Intune Win32 App Packaging with GitHub Actions

Intune’s Win32 app channel is powerful, but its packaging workflow is stuck in 2018. Here is a GitHub Actions pipeline that builds .intunewin packages, uploads them to Intune through Microsoft Graph using federated credentials, and keeps every app’s metadata version controlled in Git.

Entra ID PIM Role Activations with PowerShell

Entra ID PIM Role Activations with PowerShell

Skip the Entra admin portal clicks for routine maintenance windows. This walkthrough shows how to list, activate, and deactivate PIM role assignments in PowerShell with the Microsoft Graph SDK, including a batch helper for change tickets.

Conditional Access Policy Backups via PowerShell

Conditional Access Policy Backups via PowerShell

Conditional Access policies are critical Entra ID security controls, but many tenants have no backup or version history. This walkthrough builds a short PowerShell script that exports every CA policy to JSON and commits it to Git, giving you an auditable, restorable baseline you can schedule in Azure Automation or GitHub Actions.