Welcome to the Jocha blog!

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…

Display all saved WiFi Passwords

We’ve all been there, wireless passwords tend get lost.

There are several tools to retrieve the missing information, but I strongly believe that the less stuff you download from the web, the safer you are. So why not use the built in functions instead?

Office365 Safe Attachment Delay Report

Recently the Helpdesk have been getting cases about slow delivery times due to Office 365 ATP Safe Attachments. We have created a script to retrieve the data from Exchange Online, and then used Power BI to visualize it.

Windows Backup Mail Report Script

Updated version available: This article covers v4.1 of the script (2016). A fully rewritten v5.0 is now available, compatible with Windows Server 2025 and using the SendGrid REST API instead of the deprecated Send-MailMessage.Read the updated article: Windows Server...

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.

Leveraging AGENTS.md for smarter prompting

Leveraging AGENTS.md for smarter prompting

AGENTS.md is more than a cross-tool fallback config. Structured well for your Azure and Microsoft 365 environment, it eliminates the repetitive context you type at the start of every session and makes every prompt shorter and more precise.

Configuring Claude Code with CLAUDE.md

Configuring Claude Code with CLAUDE.md

A practical guide to configuring Claude Code with CLAUDE.md and AGENTS.md, covering file locations, what rules to include, how to organize rules for larger projects, and how to deploy organization-wide policy files.

Automating Entra ID Group Management with PowerShell

Automating Entra ID Group Management with PowerShell

Introduction Managing groups in Entra ID (formerly Azure Active Directory) through the Azure Portal works fine for a handful of changes, but quickly becomes tedious at scale. Whether you're onboarding a batch of new employees, restructuring departments, or cleaning up...

Azure infrastructure with Bicep and GitHub Actions

Azure infrastructure with Bicep and GitHub Actions

Introduction ARM templates have long been the go-to for declarative Azure infrastructure, but their verbose JSON syntax makes them painful to read and maintain. Bicep is Microsoft's answer: a cleaner domain-specific language that compiles down to ARM JSON. Pair it...

IT report automation with PowerShell

IT report automation with PowerShell

Most IT teams generate the same reports week after week: license usage, stale accounts, patch compliance, group membership changes. Done manually, these are tedious and easy to forget. Done with PowerShell and GitHub Actions, they run themselves on a schedule and land...

Building an MCP server for IT infrastructure

Building an MCP server for IT infrastructure

A walkthrough of building a Python MCP server that gives Claude live access to Microsoft Intune, Entra ID, and Defender for Endpoint, querying your infrastructure directly from the chat window.

8 Ways IT Pros Can Use Claude Every Day

8 Ways IT Pros Can Use Claude Every Day

You have probably used Claude to write a script or two. But most senior IT professionals are using maybe 10% of what it can do for them on a daily basis. This is a practical list of high-value use cases — things you can try today, not theoretical future...

Automated Azure Alert Triage

Automated Azure Alert Triage

Azure Monitor can generate hundreds of alerts per day in a busy environment — many of them repetitive, low-priority, or duplicates of each other. Feeding those alerts into Claude via a Logic App workflow lets you automatically triage them, group related issues, and...