Welcome to the Jocha blog!

Installing .NET Framework on Windows 8 and 2012

I have been struggling a bit with adding .NET Framework 3.5 on a few systems (and reference image for MDT). The posts on MSDN and TechNet are good, but not always crystal clear.

Here is how I solved the issues we were experiencing…

Breaking into a Windows System

Do you ever get that sinking feeling, when you’ve forgotten the root password to your test lab?  Again?

I hate it too!  So I decided to figure out a way around it, using a work around…

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.

Azure Backup internal error (ID: 130001)

When installing the Azure Backup Agent you need to supply your vault credentials.
If doing so incorrectly you will get the following error…

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…

AI Code Review on Every Pull Request

AI Code Review on Every Pull Request

Every senior engineer has reviewed a pull request, spotted an obvious bug, and wondered why the submitter did not catch it themselves. Claude can be that first-pass reviewer — reading every PR automatically and leaving structured comments before a human even opens the...

Faster PowerShell Scripting with Claude

Faster PowerShell Scripting with Claude

If you spend a meaningful part of your week writing PowerShell, there is a good chance you are still solving the same class of problems you solved five years ago, just with slightly different cmdlets. Claude can cut the time you spend on boilerplate, syntax lookups,...

Deploying Azure Landing Zones with Terraform and GitHub Actions

Deploying Azure Landing Zones with Terraform and GitHub Actions

An Azure Landing Zone is the foundation of every well-governed cloud environment — it defines management groups, subscriptions, networking, policies, and RBAC in a consistent, repeatable way. Using Terraform alongside GitHub Actions gives you a fully automated,...

Bulk Managing SharePoint Online Permissions with PnP PowerShell

Bulk Managing SharePoint Online Permissions with PnP PowerShell

SharePoint Online permissions tend to accumulate over time — stale site memberships, over-privileged guest accounts, and broken inheritance chains create both compliance risk and confusion. PnP PowerShell gives you a concise, cross-site toolset for auditing and...

Deploying Azure Monitor Workbooks with Bicep

Deploying Azure Monitor Workbooks with Bicep

Azure Monitor Workbooks provide rich, interactive dashboards for operational data — but creating them manually through the portal means they live outside your deployment pipeline. By defining workbooks as Bicep resources you can version-control, peer-review, and...

Automating Microsoft Teams Channel Provisioning with Graph API

Automating Microsoft Teams Channel Provisioning with Graph API

Provisioning Microsoft Teams channels manually is fine for a handful of teams, but it quickly becomes unsustainable when onboarding projects at scale. Using the Microsoft Graph API through PowerShell, you can create teams, add channels, and assign members...

Implementing Azure Policy as Code with GitHub Actions

Implementing Azure Policy as Code with GitHub Actions

Azure Policy is a powerful governance tool, but when policies are created manually through the portal they quickly become undocumented and inconsistent across environments. By storing policy definitions in a Git repository and deploying them through GitHub Actions,...