Stay on top of your SCCM client health. Learn how to manage inactive and obsolete clients in SCCM Current Branch with statuses, reporting, and remediation.

A few years ago, we published a detailed guide on managing inactive clients in SCCM 2012. With two SCCM Current Branches (1511 and 1602) under our belt, now is the perfect time to revisit this topic, learn some new tricks, and ensure a healthy SCCM client environment. Let’s start this guide by finding out how clients become inactive and learn about the changes introduced in SCCM 1602.

Inactive vs active vs online clients in SCCM ^

Clients will fall into either an inactive or active state. If you remember the SCCM 2007 world, you can appreciate the simplicity of these two categories. By default, a client is marked as inactive if they haven’t completed one of the following within seven days:

  • Requested a policy update
  • Sent a hardware inventory
  • Sent a heartbeat message

Essentially, a client will become inactive if it fails to do all three of the above tasks within a week. Further down in this guide, we’ll see how to adjust these settings.

The hardware inventory cycle action on a SCCM client

The hardware inventory cycle action on a SCCM client

SCCM 1602 introduces a slightly different (but still relevant) check known as Client Online Status. This new feature provides near real time indications on the machine’s connection to its assigned management point.

Online vs Offline icons in SCCM 1602

Online vs Offline icons in SCCM 1602

An online machine will have a green checkmark over the computer icon. This can be seen in Assets and Compliance\Devices or when looking at members of a device collection.

Changing inactive client settings in SCCM ^

When you think about it, SCCM is a huge piece of software. In one console, you’re managing OS upgrade, app deployments, updates, etc. Finding your way around this console can be a bit frustrating.

This is particularly true for the client status settings. If you want to change inactive client settings in your SCCM infrastructure, you actually have to navigate to Monitoring\Overview\Client Status. You can then right click on Client Status and select Client Status Settings. You should now see something similar to the screenshot below:

The default client status settings in SCCM 2012 and SCCM 1602

The default client status settings in SCCM 2012 and SCCM 1602

If your environment is very mobile, you may want to loosen up these evaluation periods. For example, you could change the default 7-day value to 14 days. Environments with predictable client schedules could tighten up this schedule. Generally, 3 days is the tightness functional schedule when weekends/holidays are taken into account.

When you expand the Client Status node, you can see a detailed view of the client health in your environment. Charts are available for Client Activity, Client Check, and Client Deployment. In the general statistics pane, you can target specific collections and see the top client check errors that were reported. By default, the All Desktop and Server Clients collection is targeted.

The top client errors as reported in the SCCM console.

The top client errors as reported in the SCCM console.

By default, this information is only refreshed once per day. You can get an up-to-date view by right clicking on Client Status (in the navigation pane on the left) and selecting Refresh Client Status. You can also configure the client status to update on a more regular basis. To do this, select the Schedule Client Status Update button in the ribbon or in the menu when right clicking on the Client Status node.

Automatic client remediation in SCCM Current Branch ^

SCCM 2012 and above have two main methods to repair SCCM clients built in. The first occurs on the client OS (which can include servers). When the SCCM client is installed, a scheduled task named Configuration Manager Health Evaluation is created on the machine.

The Health Evaluation task for SCCM client remediation

The Health Evaluation task for SCCM client remediation

This task calls the ccmeval.exe (located in %WINDIR%\CCM). When desired, CCMeval can be manually executed from an administrative command prompt. A log file of the client health evaluation can be found in %WINDIR%\CCM\Logs. You can view CcmEval.log in CMTrace or notepad. The log file is cumulative.

If any problems are found with the SCCM client or any dependencies, CCMeval will attempt to repair those problems and will submit a report. At times, you may wish for CCMeval simply to report the problem and not attempt a fix. To disable automatic client remediation, change the following registry entry from FALSE to TRUE: HKEY_LOCAL_MACHINE\Software\Microsoft\CCM\CcmEval\NotifyOnly.

Our second client remediation method is server driven. It requires automatic site-wide client push installation to be enabled. You can see if this is enabled by navigating to Administration\Overview\Site Configuration\Sites. Select your site and then choose Client Installation Settings from the ribbon. Finally, select Client Push Installation from the drop down menu.

This site is enabled for automatic client push installations

This site is enabled for automatic client push installations

In the same view, select Site Maintenance from the ribbon. Double click on the Clear Install Flag maintenance task. When this task runs on your site server, it will remove the install flag from stale client records. You can see an example in the screenshot below:

A more aggressive server initiated client repair task

A more aggressive server initiated client repair task

This task relies on reliable heartbeat records from clients. It’s very important that clients send heartbeat discovery data at an interval less than the client rediscovery period that you see in the screenshot above. For example, the heartbeat discovery method should be set to a value less than 14 days.

Heartbeat discovery is set at 1 day in this environment

Heartbeat discovery is set at 1 day in this environment

When a client goes 14 days without sending a heartbeat, the install flag is cleared. The site server is then able to push the client installation at the next available time.

Subscribe to 4sysops newsletter!

SCCM Current Branch does a really good job of managing clients and repairing itself in the event of a failure. However, all these methods still rely on the SCCM infrastructure in some way. If you want to add another layer of protection to your environment, you can still use alternative methods, such as those mentioned in the managing inactive clients in SCCM 2012 guide.