Thoughts from the EPS Windows Server Performance Team
*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:
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:
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:
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%ComputerName%_Printkey.hiv 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%ComputerName%_HotfixLogs.cab 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%ComputerName%_MountedDevices.hiv 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%ComputerName%_SetupInfoLog.cab Copy Setup Log files%ComputerName%_Spuninst.log Copy of %SystemRoot%\Spuninst.log%ComputerName%_UpdateSetupLog.cab Copy of %windir%\Upds*.log%ComputerName%_ntdtcsetup.log Copy of %SystemRoot%\ntdtcsetup.log%ComputerName%_SetupACTLogs.cab Copying SetupACT.Logs from %WINDIR%, %windir%\panther and %windir%\System32\Sysprep%ComputerName%_SetupERRLogs.cab Copying SetupERR.Logs from %WINDIR%, %WINDIR%\panther and %WINDIR%\System32\Sysprep%ComputerName%_UnattendedXMLs.cab Copying Unattended XML from cached folders%ComputerName%_Panther_Contents.txt Listing folders contents%ComputerName%_SetupAPIs.cab Copy SetupAPIs ev1, ev2 and ev3 from \windows\inf folder%ComputerName%_SetupReport.txt Copy upgrade log - SetupReport from windows\panther folder%ComputerName%_setupapi.dev.log Copy %windir%\inf\setupapi.dev.log%ComputerName%_setupapi.app.log Copy %windir%\inf\setupapi.app.log=========== 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.%ComputerName%_ImageFileExecutionOptions.hiv 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%ComputerName%_DebugLogs.cab 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" %ComputerName%_CBS_Logs.cab CBS*.log from \windows\Logs\CBS%ComputerName%_cbs_langpack.log cbs_langpack.log from Windows\panther folder%ComputerName%_winsxs_PendingXML.cab 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:
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
I haven't had a need to run this in a long time, but, didn't it used to be the case that it was just a self extracting file and you launched a batch script or something along that line to do the collection?
It seems like a pretty big leap to be requiring changes to the software load on a system now in order to do data collection. I've worked with many an enterprise customer who haven't got a single 2003 server (out of thousands) with .Net2 on it because they have no need for it, for example.
What if i want to run this tool on the Windows 2k8 Core machine with a default configuration or if I dont want to install the .Net Framework due to business constraints ?
We use the reports frequently for data collection from production machines at customer sites. A .NET and Powershell requirement is definitely a huge obstacle to overcome just to get the diagnostic data. Bummer.
Be very careful with this April'09 version of MPSReports, as it will set your powershell execution policy to restricted. If you run this version on Exchange 2007 servers, you will lock yourself out of the Exchange management shell and exchange cmdlets will fail to run if called by any scripts (such as daily backup scripts). To mitigate, immediately after running mpsreports, you need to run "set-executionpolicy remotesigned" to get the system's execution policy back to its default state.
I've been using the new MPS Reports tool for collecting and sending data to Microsoft. We've worked to create a single batch file to perform all the necessary data capture, including a netmon capture, dcdiag, netdiag, cluster, stopping perfmon and collecting the counter data, and then running MPS Reports. Through some work I've got all the MPS files extracted and ready to run on all the servers we want to analyze.
Now, I'm trying to find a way to run the mpsrwiz.exe executable silently with pre-defined variables on these servers. I've already edited my category.config file to auto-select the categories. My goal is to completely eliminate the wizard so that the user no longer has to click "I Accept", Next, This Computer, Next, Next, Save to Disk, Select Location, Finish. It would seem that there must be some command switches for the mpsrwiz.exe program since it uses the %MPS_CATEGORY_CONFIG% variable for defining the input file and then the /ResultPath switch for defining the temporary storage location for the output results.
Can anybody help me with a list of the command switches? It would be great to finalize full automation of this data capture process.
Your explanation about the program was great, thanks
thank you very good very good article
Is there any type of tool available for analyzing or easily viewing the results of MPS Reports? I have looked all over the place, there does not see, to be anything :(
MPS Reports Viewer is for viewing MPS Reports results - www.microsoft.com/.../details.aspx
This current 1.2 version of MPS Reports does not have any method for silent/quiet/unattended execution.
Microsoft Product Support Reports
However, the PFE MPS Reports, which is batch-file driven and does not require Powershell/.NET Framework, can be run unattended.
MPSRPT_PFE_X64.EXE /Q /C:"cmd /c Setup.cmd /Q"
The Readme.txt has more details about the different ways you can control its execution.
Microsoft Premier Field Engineering Platform Reporting Tool (MPS_REPORTS)
The link: www.microsoft.com/.../details.aspx is not working anymore. Can you provide a alternative link or see what is wrong?
Thanks in advance,
@Roland: I am looking into this now.
Thanks Yong! Blog updated to reflect this change.