Something that I have found useful in getting a hard copy of is a computers installed software, vendor and version. Today I’m just going to work with the local computer. In another post I will talk about the ability to get all software installed on a group of computers. In PowerShell there are a few ways to do what I am going to show you. The one I prefer is Get-CimInstance. I use this over Get-WMIObject becasue it gets me more information and Get-WMIObject is actually the older way from PS 2.0. It has really been replaced with Get-CimInstance. If you go to Introduction to CIM Cmdlets (MSDN Blog) you will find this quote:
“Getting/Enumerating instance of a class is the most commonly performed operation. We wanted the new Get-CimInstance Cmdlet to have better performance and even better user experience as compared to the old Get-WmiObject cmdlet. To achieve these goals we made the following design decisions:”
So, how do I write the code?
Gcim Win32_Product (gcim is the alias for Get-Ciminstance)
That just spits out the information in the ugly format below:
I like my data so I can read it properly and with all the data I really want. Lets add a Piped command:
| Format-Table name, version, vendor
This gives you the results below:
Okay, so that’s nice, but how about in a CSV file that I can print or look at later? Cool, lets do it:
Gcim Win32_Product | Select-Object name, version, vendor | Export-Csv C:\software1.csv
I know, your saying wait you changed the second line from Format-Table to Select-Object and you would be correct. Why did I change it, well format-Table is for output to the console, not for something you are piping to Export-CSV. You have to Select the Objects you want to send to the CSV file to get proper data. Go ahead and try to use the Format-Table once to see you get nothing you can use in the CSV file. The output you get when you use the Select-Object is below. That’s how I would like it, how about you?
For some reason when I typed an URL the other day it accidentally added a few letters after the.com making it .comen. So, every time I wanted to go to that web site Firefox would suggest and auto-complete the address taking me to the unknown URL. Of Course that was a pain and I was not happy, but there is a quick solution to the problem. I don’t want to shut down the awesome bar altogether because I do use it, so I just needed to delete this one entry. To do this I just started typing the offending website into my address bar and when the suggestion showed up in the awesome bar I just moved my mouse over the suggestion to highlight it and pressed the DELETE key on the keyboard.
Presto, no more offending auto-complete, no more hassles.