Client Spy (CliSpy.exe) is a tool for troubleshooting software distribution, inventory, and software metering on computers running an System Center Configuration Manager Client.

Most of the information retrieved by the tool pertains to software distribution. The tool displays all current software distribution program run requests, software distribution history, the client cache configuration, cached items, and pending mandatory program runs and lists optional programs that are available.

Inventory information that is displayed includes the latest inventory cycle date, the last report date, software inventory major and minor versions, the file collection, hardware inventory, the IDMIF collection, and discovery data records (DDRs). Some additional information is collected for DDRs.

Software metering rules are also displayed.

The title of each tab corresponds to its function.

To improve performance, information for each tab is collected only when it is selected. Similarly, when Refresh is clicked, only the information for the currently displayed tab is refreshed.


This tool supports System Center Configuration Manager 2007.


The main menu of the tool contains two buttons: Tool and Edit.

Tool Button

Clicking Tool displays a drop-down menu containing the following menu items:

Item Description


Allows you to connect to a different computer to retrieve information. An account with sufficient credentials to obtain the information is required. The remote computer name, user name, and password for the account are required to make the connection. A connection to the IPC$ share on the remote computer is made and the connection is deleted when either the tool exits or you connect to another computer. By default, the tool displays information from the current computer. If you do not specify a user name and password, the security context of the currently logged-on user is used to attempt to make the connection. When you connect to a remote computer, all tabs that are displayed show information from the remote computer.

Software Distribution

Displays the Software Distribution tabs and hides the other tabs. By default, the Software Distribution tabs are displayed.


Displays the Inventory tab and hides the other tabs.

Software Metering

Displays the Software Metering tab and hides the other tabs.

Save current tab to file

Saves information that is contained in the currently displayed tab to a text file after you specify a file name. Saving the information to a file can be useful when you must have others review the information.

Save all tabs to file

Saves information that is contained in all tabs to a text file after you specify a file name. However, only information that you visibly can see is saved.


Closes the tool. Any open IPC$ connections to remote computers are also closed.

Software Distribution Tabs

You can configure settings on 4 tabs:

  • Software Distribution Execution Requests

  • Software Distribution History

  • Software Distribution Cache Information

  • Software Distribution Pending Executions

Software Distribution Execution Requests

This tab displays all existing program run requests including system (computer) run requests and user run requests for all users, including the currently logged-on user.

Each tree item in the Software Distribution Execution Requests tab contains the following four attributes:

  • Advertisement ID. This might be blank, if it is an optional program run.

  • Package ID

  • Program Name

  • User. This might be the targeted user SID or the SID of the user who initiated the request, as it is stored in the run request. If both are system requests, the displayed user is System.

For each run request, the following information is also displayed in a sub tree structure:

  • Program Name

  • Package ID

  • Package Name

  • Request Creation Time

  • State

  • Running State, if State is Running

  • Execution Context (User or Admin)

  • History State (Success, Failure, or NotRun)

  • LastRunTime (Never, if the program has not been run before)

  • RetryCount, if State is WaitingRetry

  • ContentAccess (Retry Count, if State is WaitingRetry)

  • FailureCode, if State is WaitingRetry

  • FailureReason, if State is WaitingRetry

If the request requires content, the state is displayed as WaitingContent. Details for this download request are shown on the Software Distribution Cache Information tab.

If the run request is a download request, the number of bytes downloaded is also displayed.

Different icons are displayed for varying states of an run request.

Software Distribution History

This tab contains information about all previously run programs. This information is stored in the registry.

The main branches of this tree are the different user histories, including System. A subtree containing the list of packages from which programs have been run is displayed for each user. The package ID and package name for each package subtree displays a list of programs that have been run. The program name, run state, last run time, failure code, and failure reason are displayed for each. The failure code and failure reason are blank when a program was successfully run.

Software Distribution Cache Information

There are three main items on this tab: Cache Config, Cached Items, and Downloading Items.

  • Cache Config - Contains information about the System Center Configuration Manager Client cache, including the cache location, the cache size, and whether the cache is currently in use.

  • Cached Items - Contains a subtree of all items currently in the cache. Each tree item is identified by its location (folder) and displays state, package ID, package name, package version, package size, current reference count, and the last referenced time.

The last referenced time is displayed as GMT.
  • Downloading Items - These are the items currently being downloaded. Each of them, besides the information displayed by the cached items, also displays the number of kilobytes downloaded.

Software Distribution Pending Executions

This tab contains information that details past and future scheduled program runs and a list of optional programs that are available.

Each tree branch is for each user who has programs available, including System.

For each user, a sub tree contains the following three items:

  • Mandatory Advertisements With Future Executions - These are mandatory advertisements that still have programs remaining to be run. These can be either recurring, one-time, or multiple schedule advertisements. Each displays the advertisement ID, the next run time, and the schedule on which the advertisement runs.

  • Optional Advertisements - Displays a list of all advertisements that are published. Details such as advertisement ID, program name, and package name for each are also displayed.

  • Past Mandatory Advertisements With No Future Scheduled Executions - This is a list of advertisements that exist on the client that have no future programs scheduled to run. The advertisement ID, package name, and program name are displayed. A subtree item is displayed for any advertisements that are optional.

Package name information is only available for packages that have advertised policies associated to them on the computer being viewed. Packages that no longer have available policies associated to them display the message ***[Package Name No Longer Available]***.

Inventory Tab

There is only one tab containing inventory information. The main tree contains the following five items:

  • Software Inventory - Contains the date that the last cycle started, the date of the last report, and the minor and major versions of the last report.

  • File Collection - Contains the date that the last cycle started, the date of the last report, and the minor and major versions of the last report.

  • Hardware Inventory - Contains the date that the last cycle started, the date of the last report, and the minor and major versions of the last report.

  • IDMIF Collection - Contains the date last that the cycle started, the date of the last report, and the minor and major versions of the last report.

  • DDR - Contains the date that the last cycle started, the date of the last report, and the minor and major versions of the last report. The DDR information is also displayed in a subtree.

Software Metering Tab

Information on this tab is displayed in the form of a subtree. It contains all software metering rules. Each rule, displayed as a node, is identified by the file name and rule ID. By expanding each node in the tree, the following information is also displayed:

  • Explorer file name

  • Original file name

  • Rule ID

  • File version

  • Language

Edit Button

Clicking Edit displays a drop-down menu containing the following menu item:

Item Description


Refreshes the information contained in the currently displayed tab. All other tabs are unaffected.

See Also