The two programs I'm highlighting here, are
and Piriform's Speccy.
Both programs are free. I have used both programs for years and have found them impossible to be without. When I upgrade anything, I have to know exactly what hardware or Software I'm dealing with. Such things as knowing firmware versions and product keys can make the difference between smooth upgrades and unmitigated nightmares. I use both programs to record as much information about a computer as possible before re-installing the operating system. It is always a good idea to get all updates, both firmware and software, from a clean computer, before re-installing.
For Re-Installs, Please download the Re-Install Check-List (here)