Today, I learned about a PowerShell script that is already part of some of the diagnostic tools I use in my day to day work and I just didn't know it was in there. It's freely available online so I wanted to share.
You can go to http://spsfarmreport.codeplex.com/ and download the package to get a full report on your SharePoint farm.
The ReadMe.txt has important information about what will be needed to successfully run the tool. Because I'm using SharePoint 2013 as a base for my Project Server 2013 installation, I used the PowerShell cmdlet Get-ExecutionPolicy to learn the execution policy was already set to Unrestricted on my test farm.
I downloaded the package, then moved the o15 files to a specially created folder on my Project Server 2013 test server called spsfarmreport. The really neat thing about this tool is you can run it on only 1 server in the farm and it will grab results from all of them.
So, I ran .\2013SPSFarmReport.ps1 from a PowerShell command prompt window and this was the output…
PS C:\spsfarmreport> .\2013SPSFarmReport.ps1
So where did the output file actually go? It's not in my special spsfarmreport folder.
The readme file has the answer: Run the "[Environment]::CurrentDirectory" command to know where the output XML is written to.
I did this and found my output was being dropped here in the system32 directory.
PS C:\spsfarmreport> [Environment]::CurrentDirectory
I copied these files to my spsfarmreport folder where the SPSFarmReport.xslt is and was able to open the .xml file using IE.
My report is pretty boring because I only have one SharePoint Server in this farm, but you get the idea.
Here's a screenshot of the output I see.