What is smsdpusage.exe?

smsdpusage_exe_thumb3This time I’ve got another short post, which could be seen as a sort of follow-up on last weeks post. As this post is also about an executable that is used within a scheduled task. Since ConfigMgr 2012 R2 there is a new built-in report named Distribution point usage summary. This report can be used to view details about how individual distribution points are utilized, including how many unique clients access the distribution point, how many request are processed by the distribution point and how much data is send from the distribution point.

To generate content for these reports there is a new executable named smsdpusage.exe. This executable starts the distribution point usage process. When this process starts, it evaluates the IIS logs, of the previous day, and generates a report of distribution point usage. That report is sent to the management point for processing into the database.

Usage

This executable is only used on one way by ConfigMgr. During the provisioning of a distribution point a new scheduled task, named Content Usage, is created (see smsdpprov.log). This scheduled task will run smsdpusage.exe once every day at 12.00AM. 

Also good to know is that smsdpusage.exe can also be started manually, by simply right-clicking smsdpusage.exe and selecting Run as administrator (or by triggering the scheduled task). This will run another distribution point usage process, but this process will always check the IIS logs of the previous day. That means that even though it’s possible to run this process again, or on a different time, it doesn’t add any new information. The most recent information will always be of the previous day.

Result

To follow the results of the distribution point usage process there is a log file, named smsdpusage.log, that lists all the activities of smsdpusage.exe. Here is an example of how a successful distribution point usage process looks like, followed by an example of a report that shows what happens after running smsdpusage.exe twice:smsdpusage_log_thumb7

smsdpusage_report_thumb3

Share

What is smsdpmon.exe?

smsdpmon_exeA short post this time with an even short title. As I was working on documenting the content library and its content validation, one of the things I ran into was smsdpmon.exe. As I was not familiar with this executable, I thought it would be a good idea to write about my findings on it. This executable is used to start the content validation process. The validated content can be anything that is distributed to the distribution point and available in the content library. When the content validation process starts, ConfigMgr verifies the hash of the content files on the specific distribution point with the hash in the database and if the hash is unexpected for the content files on the distribution point, it creates a status message. These status messages can be reviewed in the Distribution Status node in the Monitoring workspace.

Usage

This executable is used, within ConfigMgr, on the following two different ways:

  • Scheduled content validation;
    • In the Distribution Points node in the Administration workspace, open the Properties of the distribution point, of which the content should be validated, and navigate to the Content Validation tab. In this tab it is possible to create a schedule for the content validation. Based on the configured schedule, a scheduled task, named Content Validation, is created on the site system. This scheduled task will run smsdpmon.exe on the scheduled dates and times to validate the content on the specific distribution point.
  • Manually triggered content validation;
    • In the Distribution Points node in the Administration workspace, open the Properties of the distribution point, of which the content should be validated, and navigate to the Content tab. In this tab it is possible to select a package and to click Validate. This will run smsdpmon.exe to validate the content of the selected package on the current distribution point. Also note that this action can also be performed on the package itself.

Another fun thing to note is that smsdpmon.exe can also be executed separately by just double-clicking it. This will also run a full content validation on the distribution point. Even better, smsdpmon.exe also allows one parameter to run a content validation on a specific package on the distribution point. That parameter should be the ID of the package that should be validated. This also explains why it’s not possible, when manually triggering content validation for a package, to select multiple packages to validate. An example command line is smsdpmon.exe PCP00005. This will run the content validation for package PCP00005.

Result

To follow the results of the content validation there is a log file, named smsdpmon.log, that lists all the activities of smsdpmon.exe. Here is an example of how a successful content validation looks like:smsdpmon_log

Share