How to identify core servers in SCCM

There is no easy way to detect core servers in SCCM by using the default inventory information. Here’s how to extend it to distinguish core and GUI servers. Microsoft recommendation to check remotely if a server is running the core setup is to use the ServerLevels registry hive in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server [1]. On a GUI… Read More »

Pocket Guide to providing processor, core and logical processor information from ConfigMgr inventory

The information about processors, cores and logical processors is a bit confusing. However, since it may be required for Windows and SQL server licensing [1], below some queries and links. Get details about SQL Server installations: select distinct fcm.Name as [Machine Name], arp.DisplayName0, sys.Active0 , WS.LastHWScan as [Last Inventory], sys.CPUType0 as [CPU Type], p.Name0 as… Read More »

Reporting services role installation fails with msi error

I observed a strange behavior of the reporting services setup process. Below a scripted workaround for it. Symptoms:The setup of the reporting point role fails. Under Monitoring->System Status, you see that the installation reruns every hour with the same result. Components error message: Site Component Manager failed to install this component, because the Microsoft Installer… Read More »

Change the account of a service with PowerShell

Changing the account that is running a service is a little bit tricky with PowerShell. The script below will replace the current account (let’s assume it’s local system) with a local user account that the script creates and adds to the local admin group. Local admin rights are generally not required for the purpose of… Read More »

Pocket Guide to Surface Driver Integration in Configuration Manager (SCCM)

Go to and find the appropriate download link for your model. Create the folder that you want to place the drivers in, for example D:\Sources\Drivers\Win10\Microsoft\SurfaceLaptop5 Run the msiexec command to place the drivers in that folder:  msiexec /a SurfaceLaptop5_Win10_19044_22.102.17126.0.msi targetdir=C:\Sources\OSD\Win10\Driver\Microsoft\SurfaceLaptop5 Now go to the ConfigMg console, navigate to Software Library -> OSD and open… Read More »

Pocket Guide to Office 365 Monitoring in Microsoft Endpoint Manager (SCCM)

With the critical vulnerabilities in Word (CVE-2023-21716) and Outlook (CVE-2023-23397) the update status of Office 365 has come into focus. The easiest way to check the version status is to go to \Software Library\Overview\Office 365 Client Management in the console. The dashboard behaves a bit beastly but if you succeed to get it loading it… Read More »

Save mail attachments with PowerShell

The following step-by-step guide should enable you to automate the process of downloading attachments from an O365 mailbox to a folder. Be aware that this gives access to any mail account that you enter in the code below, therefore don’t just consider functional aspects but also the security of your environment. You should also be… Read More »