Here is a PowerShell script that contains a function that I use to remotely execute scripts on multiple machines at the same time.
Read MoreAuthor: Anders Rødland
Evaluate ConfigMgr Client Policy with PowerShell
This is how I use PowerShell to force the Configuration Manager client to force evaluate policy.
The following PowerShell code will force machine policy evaluation.
$trigger = "{00000000-0000-0000-0000-000000000021}"
Invoke-CimMethod -Namespace 'root\ccm' -ClassName 'sms_client' -MethodName TriggerSchedule -Arguments @{sScheduleID=$trigger}
Start-Sleep -Seconds 10
$trigger = "{00000000-0000-0000-0000-000000000022}"
Invoke-CimMethod -Namespace 'root\ccm' -ClassName 'sms_client' -MethodName TriggerSchedule -Arguments @{sScheduleID=$trigger}
The list below is a reference of ScheduleIDs and their respective policy
Read More
Install Azure AD Application Proxy
Azure AD Application Proxy provides users a secure remote access to on-premise web applications. It lets you publish applications inside your network without the need of opening firewall ports. You can add security to it by requiring Azure AD authentication just as when a user tries to access any other resource in Azure.
This guide covers the installation of Azure AD Application Proxy.
Read More
M365 Apps for Enterprise With Intune
How to install M365 Apps for Enterprise with Intune, a super-easy guide on installing and managing M365 Apps for Enterprise / Office 365 with Intune.
Read More
How To Make Intune MDM Policy Win over GPO
How to make Intune MDM policy win over GPO. MDM policy is preferred over GPO’s for the simple reason that GPO require line of sight to a domain controller to apply, while MDM only requires an Internet connection. MDM policy with Intune is also much more reliable, and provides significantly better reporting over GPO.
The big downside used to be that GPO would always win if there was a conflict between a policy from any other source. That is no longer the case, in Windows 10 1803 (and newer builds), Microsoft implemented a custom policy in Intune that we can define to ensure that MDM policy win over GPO whenever there are conflicts. This makes the goal of moving away from GPO to MDM much easier as we no longer have to worry about any potential conflicts from some undocumented and long ago forgotten group policy.
Read More
MEMCM Console Slow Performance Caused by SQL Compatibility Level
How to fix MEMCM console slow performance where navigating the console, and it takes “forever” to start the console..
I noticed at a customer that when click on the MEMCM icon to start the console, it could literally take a minute or two before the console opened. Working in the console was also very slow.
Read More
ConfigMgr Client Health Webservice 2.0
ConfigMgr Client Health webservice version 2.0 is released. The new webservice is a complete rebuild based on .NET Framework 4.8.
This version is more secure as the old version was based on .NET Core 2, which is depreciated and out of support. I recommended to upgrade to version 2.0.
Read More
Auto Update M365 Apps installation package in MEMCM with PowerShell
How to auto update M365 Apps installation package in MEMCM with PowerShell and a scheduled task.
I wanted a process that would automatically update the installation package files for Microsoft 365 Apps on a schedule and then update the distribution points in Microsoft Endpoint Manager Configuration Manager (MEMCM). This would ensure that whenever an OSD task sequence ran, M365 apps / Office 365 would install using the latest version for the selected channel, and no updates where required once the task sequence was complete.
Read More
Install M365 Apps with MEMCM Installer – Step by Step
How to Install M365 Apps with MEMCM Installer. This guide will show you step by step how to create the M365 Apps installation package using the built-in installer in MEMCM.
Read More
ConfigMgr Client Health Version 0.8.3 Released
Today I released version 0.8.3 of ConfigMgr Client Health to include a few bug fixes.
Read More
ConfigMgr Client Health 0.8.2 Released
A new version of ConfigMgr Client Health is finally released, and this version includes several improvements to the script.
Read More
ConfigMgr Client Health 0.8.1 – Bugfixes
ConfigMgr Client Health version 0.8.1 was released today. It fixes a few bugs reported since last version. Read More

ConfigMgr Client Health 0.8.0 – Introducing Webservice
I’m happy to release version 0.8.0 of ConfigMgr Client Health, and introduce a webservice to communicate with the database.
The script now supports updating the database through a RESTful API, which simplifies and secures communication with the database. Using the -Webservice parameter, the script sends the results to the webservice, which then updates the database. Computer accounts no longer requires write access to the database in order to update it. Read More

ConfigMgr Client Health 0.7.6 Released – Important bugfix
ConfigMgr Client Health version 0.7.6 is released, and this version includes an important bugfix.
The previous version (0.7.5) introduced a new test that added a dependency on the smstsmgr service. Unfortuenatly this change ended up breaking the upgrade task sequence, something that my tests never caught as I never tested running an upgrade task sequence before releasing a new version. My test protocol is now updated, and this is something I will start testing from now now. Read More

ConfigMgr Client Health 0.7.5 Released
Today I released version 0.7.5 of ConfigMgr Client Health.This version adds two more tests, as well as an important bug fix. I recommend everyone using older versions to upgrade to this version. Read More

ConfigMgr Client Health 0.7.4 Released
ConfigMgr Client Health 0.7.4 is released. I’m focusing on bug fixes and introducing support for PowerShell Core. (PowerShell version 6).

ConfigMgr Client Health 0.7.3 Released.
I’m happy to announce the release of ConfigMgr Client Health version 0.7.3. This version includes new features and critical bug fixes in the script.

PowerShell Quick Tip: PowerShell UTC Time from Local Time
PowerShell Quick Tip: How to get PowerShell UTC time from local time. This is useful when you run PowerShell against systems in different time zones and don’t want to deal with client local time.
Read More
Ransomware Killswitch Files – Configuration Item
How to create ransomware killswitch files with MEMCM. Today I woke up to yet another ransomware attacking Europe, and this time it’s Bad Rabbit. The good news is that a killswitch for this ransomware is already discovered, preventing Bad Rabbit to infect any Windows system. Here is a configuration item for SCCM to quickly protect yourself.
Read More
ConfigMgr Client Health Version 0.7.2 Released
I’m happy to announce ConfigMgr Client Health version 0.7.2. This version includes improved testing on the ConfigMgr Client, option to run more tests in monitor only, and a few bug fixes.