Two Minute Drill: The New MPS Reports

*UPDATE* as of October 8th, 2013, the below MPS Reports link is no longer available.  Please see the following blog post from our good buddy Yong Rhee, that details more on this change:

Tool: MPSreports replacement as of Oct. 8th, 2013


Happy Friday AskPerf!  Today’s post is a quick overview of the new MPS Reports tool that was released last week.  For those of you that have worked on support incidents with us in the past, you’re used to downloading multiple flavors of the MPS Reports based on the issue that you were experiencing.  With the new MPS reports, there is only one download, based on your system architecture (x86 or x64).  The hosted location for the tool hasn’t changed, so if you had the old MPS Reports page bookmarked, you don’t have to change a thing.  This new version of MPS Reports includes in one binary file most of the information that was previously collected by the eight different flavors of MPS Reports that we used previously.  So let’s take a look at the new tool …

The supported Operating Systems for the new tool are Windows XP, Windows Server 2003, Windows Vista and Windows Server 2008.  There are also some prerequisites for running the new tool:

  • Microsoft .NET Framework 2.0
  • Windows Powershell 1.0
  • Windows Installer 3.1
  • Microsoft Core XML Services (MSXML) 6.0

As I mentioned, the new tool is architecture specific.  The downloads themselves are fairly small as you can see below.

Once you’ve downloaded the version you need, run it and accept the EULA (notice that the new MPS reports are now part of the Fix it family!).


Once you click next, you’ll have the option to select which machine you want to run the MPS Reports on:


I’m actually downloading this on a Windows 7 machine, but I want to run the MPS Reports on my Windows Server 2008 system, so I’m going to select the second option.  For enterprises with systems with no internet connectivity, this will be a common scenario, which is why I’m using it as my example.  If your target system has internet connectivity, then the tool checks your system and provides you with links to download missing prerequisites as part of the normal workflow.  Below is a screenshot from a Windows XP System:


Getting back to our example though, the MPS Reports tool assumes that you may not have the prerequisites installed on the target machine, so it presents you with an easy method to download the necessary prerequisites:

image image

Downloading the components for Windows XP / Window Server 2003

Downloading the components for Windows Vista

When you click on the “More information” links, you are taken to the relevant download packages for those components.  Save the install packages (and the MPS Reports executable) to your removable drive or to a network share that the target machine can access, install them on the target system, and you’re ready to run your MPS Reports …

OK, so my Windows Server 2008 system now has all of the prerequisites installed, and I have a copy of the MPS Reports executable on that system so … let’s run the MPS Reports.  To run MPS Reports, you do need administrative privileges, so you may be greeted by the UAC prompt:


When you run MPS Reports on a Windows Vista (or later OS) the files are extracted to a temporary folder in the C:\Users\<username>\AppData\Local\Temp\<GUID>\MPSReports\tools folder (see the screenshot from Process Explorer below).  The folder name under temp is randomly generated each time you run the tool.  However, once the tool finishes its run, or you cancel execution, the temporary files are removed (but not the folders) :


One of the features in the new version of MPS Reports is the ability to select which diagnostics to run. 


The available options are:

  • General
  • Internet and Networking
  • Business Networks
  • Server Components
  • Windows Update Services
  • Exchange Servers
  • SQL and other Data Stores (MDAC)

For each of these, clicking on the “Link to more info” link brings up a .txt file that provides information about what data is collected.  The information for the “General” item is below:

Files collected:

=========== Printer Information ===========
%ComputerName%_Print.txt Registry of Print Keys
%ComputerName%_PrintInfo.txt List of all printer Drivers installed and versions
%ComputerName%_PrintInfo.htm List of all printer Drivers installed and versions
%ComputerName%_sym_spool.csv Output of the %SystemRoot%\System32\Spool directory
%ComputerName%_sym_spool.txt Text file of printer Drivers installed Registry of Print key in hiv format

=========== Driver Inforamtion ===========
%ComputerName%_DRIVERS.TXT Text file of a checksym of the drivers.
%ComputerName%_DRIVERS.CSV Comma Separated file of a checksym of the drivers.
%ComputerName%_DriverQuery.TXT Tells If the installed Drivers are signed or not. This is an OS embeded tool
%ComputerName%_Sigverif.TXT The list of all signed and unsigned drivers
%ComputerName%_DriverQuery_Verbose.csv Verbose driver report (using DriverQuery.exe).

=========== Eventlogs ===========
%ComputerName%_evt_security.* Security Event Log.
%ComputerName%_evt_FileReplicationService.* File Replication Event Log.
%ComputerName%_evt_application.* Application Event Log.
%ComputerName%_evt_system.* System Event Log.
%ComputerName%_evt_Winlogon-Operational.* Winlogon Operational Event Log.
%ComputerName%_evt_RestartManager-Operational.* RestartManager Operational Event Log.
%ComputerName%_evt_TaskScheduler-Operational.* TaskScheduler Operational Event Log.
%ComputerName%_evt_*.txt Txt output of other Event Logs.
%ComputerName%_evt_*.evt Evt output of other Event Logs.
%ComputerName%_evt_*.csv Csv output of other Event Logs.
%ComputerName%_evt_*.evtx Evtx output of other Event Logs.

=========== Hotfix Information ===========
%ComputerName%_HotfixHistory.txt List of all hotfixes applied.
%ComputerName%_HotfixHistory.csv List of all hotfixes applied.
%ComputerName%_HotfixHistory.htm List of all hotfixes applied.
%ComputerName%_Hotfix.txt qfecheck output and directory list of directory names for installed hotfixes KB*.log, Q*.log and CabBuild.log from %SystemRoot%, %windir%\hotfix and Sub Directory files if they exist

=========== System Running State Information ===========
%ComputerName%_Process.TXT Txt format log of currently running applications.
%ComputerName%_Process.CSV Csv format log of currently running applications.
%ComputerName%_PSTAT.TXT Currently running applications, and drivers. Process Status output show some performance data for the running processes
%ComputerName%_Services.txt Services Information
%ComputerName%_TLIST.TXT List of all Current Processes and Sub Processes.

=========== Scheduled Task Information ===========
%ComputerName%_SchedLgU.Txt Task scheduler tasks
%ComputerName%_Schedule.txt Scheduled Job information

=========== System Information ===========
%ComputerName%_msinfo32.nfo NFO format of msinfo32
%ComputerName%_msinfo32.txt TXT format of msinfo32
%ComputerName%_ocgen.log Optional Components log file
%ComputerName%_NTCompat.TXT NT Compatibility before upgrade log file
%ComputerName%_Compat.TXT NT Compatibility before upgrade log file
%ComputerName%_reg_ProductID.TXT Dump of the Product ID from the registry.
%ComputerName%_wiadebug.log Windows Imaging Log
%ComputerName%_wiaservc.log Windows Imaging Service Log.
%ComputerName%_SVCPack.log Service Pack Installation log file.
%ComputerName%_WINNT32.log Log of events when Winnt32 was run.
%ComputerName%_vminst.log Log from Virtual machine installation.
%ComputerName%_VSSADMIN.TXT Volume Shadow Copy Information file.
%ComputerName%_ConfigAuto.txt Copy of the CONFIG.NT and AUTOEXEC.NT
%ComputerName%_reg_SL.TXT Obtain SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL registry key from Local Machine
%ComputerName%_reg_SL-NetworkService.TXT Obtain SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL registry key from Network Service
%ComputerName%_reg_CurrentVersion.TXT Obtain HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion registry
%ComputerName%_reg_ProductOptions.TXT Obtain HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions registry
%ComputerName%_KMSActivation.txt Obtain information about KMS and MAK activation and related components and save it in a TXT file
%ComputerName%_ActivationCheck.txt Checks for activation status and applicability of repair actions
%ComputerName%_SrtTrail.TXT Obtain Windows Recovery Environment logs
%ComputerName%_StartupRepair.etl Obtain Windows Recovery Environment tracing file
%ComputerName%_dxdiag.txt Obtain information from dxdiag.exe utility
%ComputerName%_StartupProgram.xml Get Windows Startup Programs

=========== Update Information ===========
%ComputerName%_hcupdate.log Hardware Compatibility Update Log
%ComputerName%_userenv.log Help Center Update log file.
%ComputerName%_userenv_nonusermode.log Help Center Update log file.
%ComputerName%_UPGRADE.TXT Log of upgrade progress.

=========== Hardware Information ===========
%ComputerName%_devcon.txt PNP Information for all Devices in the machine
%ComputerName%_directx.log Direct X install Log.
%ComputerName%_MountedDevices.TXT Copy of the Mounted Devices Key from the registry Copy of the Mounted Devices Key from the registry
%ComputerName%_DISK_INFORMATION.TXT Diskprobe look of MBR and PBS of each drive
%ComputerName%_DMDIAG.LOG Dynamic Disk Log
%ComputerName%_diskmap.txt Low level look at MBR, and PBS
%ComputerName%_DOSDevices.TXT Hardware PCI Information

=========== Program Information ===========
%ComputerName%_uninstall.txt Registry Information for installed applications.
%ComputerName%_sym_PFSYS.TXT List of driver files (SYS) in the Program file directory in txt format.
%ComputerName%_sym_PFSYS.CSV List of driver files (SYS) in the Program file directory in csv format.
%ComputerName%_sym_PFSYS(x86).TXT List of driver files (SYS) in the x86 Program file directory in txt format.
%ComputerName%_sym_PFSYS(x86).CSV List of driver files (SYS) in the x86 Program file directory in csv format.
%ComputerName%_sym_PROGFILES.TXT Inventory of the %ProgramFiles% folder in txt format
%ComputerName%_sym_PROGFILES.CSV Inventory of the %ProgramFiles% folder in csv format
%ComputerName%_sym_PROGFILES(x86).TXT Inventory of the %ProgramFiles(x86)% folder in txt format
%ComputerName%_sym_PROGFILES(x86).CSV Inventory of the %ProgramFiles(x86)% folder in csv format
%ComputerName%_dir_PROGFILES.TXT Dir %ProgramFiles% folder
%ComputerName%_Installed_Software.txt Gathering Installed Software

=========== Setup Information ===========
%ComputerName%_setup.log Current Setup.log on the machine in the config directory.
%ComputerName%_setuperr.log Setup Error log file.
%ComputerName%_setupact.log OS Setup / upgrade log file
%ComputerName%_txtsetup.sif Setup Information file.
%ComputerName%_setupapi.log Setup log file.
%ComputerName%_Setupapi*.OLD Copy of %SystemRoot%\Setupapi*.OLD log files.
%ComputerName%_Setuplog.txt Copy of Setuplog.txt file Copy Setup Log files
%ComputerName%_Spuninst.log Copy of %SystemRoot%\Spuninst.log Copy of %windir%\Upds*.log
%ComputerName%_ntdtcsetup.log Copy of %SystemRoot%\ntdtcsetup.log Copying SetupACT.Logs from %WINDIR%, %windir%\panther and %windir%\System32\Sysprep Copying SetupERR.Logs from %WINDIR%, %WINDIR%\panther and %WINDIR%\System32\Sysprep Copying Unattended XML from cached folders
%ComputerName%_Panther_Contents.txt Listing folders contents Copy SetupAPIs ev1, ev2 and ev3 from \windows\inf folder
%ComputerName%_SetupReport.txt Copy upgrade log - SetupReport from windows\panther folder Copy %windir%\inf\ Copy %windir%\inf\

=========== Miscellaneous Information ===========
%ComputerName%_RECOVERY.TXT Registry entries for creating memory.dmp. (HKLM\System\CurrentControlSet\Control\CrashControl)
%ComputerName%_Misc.txt Miscellaneous information, include information of os, network share, environment variables, etc.
%ComputerName%_DrWatson.log Bottom few logs from the Dr. Watson log file.
%ComputerName%_DrWtsn32_LocalSystem.Log Dr Watson log for Local System Services in 2003 only.
%ComputerName%_USERRIGHTS.TXT Collection of User Rights Assignments
%ComputerName%_HyperThread.TXT File that Tells If the processors in the machine are HyperThreading capable.
%ComputerName%_Filters.TXT List of the Upper and Lower filters installed.
%ComputerName%_DBerr.txt Copy of the SP Catalog logging file.
%ComputerName%_BOOT_INI.TXT Copy of the Boot.ini file.
%ComputerName%_comsetup.log Copy of Com+ Setup log file.
%ComputerName%_com+.log Com+ Configuration file.
%ComputerName%_ADVPackExt.Log Advanced Package install Log.
%ComputerName%_Perf_SC.txt SC.EXE Output for Perf devices. This is an OS embedded tool
%ComputerName%_AppCompatFlags.TXT Pulled the AppCompatFlags key from registry into file.
%ComputerName%_Startup.TXT Copy of all of the startup Information from the registry.
%ComputerName%_Perf_All_Ini.txt All Perf Counter INI file.
%ComputerName%_PerfIni.txt Copy of Perf.ini for Counters file.
%ComputerName%_Perf_OS_Stats.txt Memory, objects and processes performance stats report.
%ComputerName%_Perf_StringBackup.ini Copy of %systemroot%\system32\PerfStringBackup.ini.
%ComputerName%_Perf_Memsnap.log Memory Report generated by memsnap.exe.
%ComputerName%_Perf_Lib_Reg.txt Performance library registry key. Copy of the Image file Execution Options Registry Key.
%ComputerName%_SESSIONMANAGER.HIV Session Manager Log. (HKLM\System\CurrentControlSet\Control\Session Manager)
%ComputerName%_DrWtsn32.Log User-mode application error log
%ComputerName%_CRASHINFO.TXT List of *.dmp files and other crash information
%ComputerName%_CommonSystemFiles.txt File Versioning for All Detected Instances of SQL Server in txt format
%ComputerName%_CommonSystemFiles.csv File Versioning for All Detected Instances of SQL Server in csv format Copy of %SystemRoot%\debug\*.log
%ComputerName%_WinSAT-Features.XML Results of WinSAT features command line tool, xml format
%ComputerName%_WinSAT-Features.TXT Results of WinSAT features command line tool, txt format
%ComputerName%_BCD-Database-Backup Generate a backup of BCD database to analyze issues related the BCD Store
%ComputerName%_bcdedit-enum.txt Boot Configuration Data enumeration
%ComputerName%_BITS-GPO.txt BITS-GPO collects registry information from "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS"
%ComputerName%_BITS-Reg.txt BITS-Reg collects registry information from "HKLM\System\CurrentControlSet\Services\BITS" CBS*.log from \windows\Logs\CBS
%ComputerName%_cbs_langpack.log cbs_langpack.log from Windows\panther folder WinSxS pending.xml files
%ComputerName%_poqexec.log Obtain the WinSxS poqexec.log file
%ComputerName%_WinSAT_DataStore Windows System Assessment Tool history files from DataStore folder
%ComputerName%_winsat.log Windows System Assessment Tool log file from \Windows\Performance\WinSAT folder

Below are some notes about what information is gathered for specific components that you may be interested in and their associated diagnostic package:

  • Business Networks:  Includes Directory Service, Terminal Service, IPSec and Hyper-V information
  • Internet and Networking: Includes IE information and Networking information gathered using NETSH commands as well as information on Net Sessions, Net Files and the Connection tables
  • Server Components:  Directory Service information (DCDiag, RepAdmin, FRS), IIS information, ISA / DNS / DCHP and NPS information, Terminal Service information, Cluster information and information about WLBS, iSCSI and iSNS
  • Exchange Servers: Exchange specific information including the DSAccess configuration, a copy of the metabase.xml file and the ADC Registry key values
  • SQL and other Data Stores (MDAC): SQLDiag information, sp_configure information, SQL Reporting Services information and MDAC / MSDTC information.  The diagnostic can be run against SQL Server 2000, SQL Server 2005 and SQL Server 2008 servers.
  • Windows Update Services: Windows Update Log files, including log files for IE and Software Distributing Reporting

From the Performance team perspective, the diagnostics that we are interested in are the General, Internet and Networking, Business Networks and Server Components ones since they each contain useful components about OS Configuration, Terminal Server properties, File Server configuration and Printing.  Once I select these four diagnostics, I click Next and the data gathering begins.


During data collection, the progress meter shows exactly which data is being gathered – the more diagnostics you run, the longer the data collection process will take. 


While the tool is running, the output data is collected in the RESULTS subfolder in the MPS Folder temp location. 


The data is organized by diagnostic package:


Once the data collection has been completed, you are presented with the following options:

If you are working with a Microsoft Support Engineer, you can select the first option and email the results to them.  The results files are compressed into a .CAB file and an email template is created with the file already attached


One thing to be aware of though is that the size of the .CAB file may exceed your email server’s threshold:


If this is the case, you can simply close the email and then click the BACK button to select a different option.  In my case, I am going to save the results to a different location so that I can transfer them via other means. 


Once I click the FINISH button, the temporary copy of the files is removed.  I still have my .CAB file – which is the same size as the one created via the email option.  If I open up the .CAB file, the results are still organized in the same fashion as they were in the results folder, so I have the option to extract all the files, and re-compress them into smaller packages:


And with that, we’ve reached the end of this post.  One feature that we didn’t cover was the use of configuration (.CONFIG) files and how they relate to generating custom MPS Reports diagnostic results – but that will be a topic for another day.  Until next time …

CC Hameed

Share this post :