Irrylyn
asked on
Get List of Installed Software
Hello Experts!!!
I have an idea... I think it would be awesome and I think powershell could do it.
Query all computers in a specific Active Directory OU for installed software and export it to a list of software. While doing this, check to see if that software already exists on the list and if so, do not add it again... instead, put a +1 count in a column next to it.
So in the end, you'd have a list of software installed on all machines and how many machines have that software installed.
What do you think? Is it doable? Anyone willing to try making this one? I'm going to start playing with it but am so slow when putting scripts together that I learn more from picking out the puzzle pieces from the experts!
Environment: Windows 7 Enterprise SP1 x64
I have an idea... I think it would be awesome and I think powershell could do it.
Query all computers in a specific Active Directory OU for installed software and export it to a list of software. While doing this, check to see if that software already exists on the list and if so, do not add it again... instead, put a +1 count in a column next to it.
So in the end, you'd have a list of software installed on all machines and how many machines have that software installed.
What do you think? Is it doable? Anyone willing to try making this one? I'm going to start playing with it but am so slow when putting scripts together that I learn more from picking out the puzzle pieces from the experts!
Environment: Windows 7 Enterprise SP1 x64
Irrylyn --
How's this--using Powershell
http://www.howtogeek.com/165293/how-to-get-a-list-of-software-installed-on-your-pc-with-a-single-command/
How's this--using Powershell
http://www.howtogeek.com/165293/how-to-get-a-list-of-software-installed-on-your-pc-with-a-single-command/
ASKER
jcimarron:
Yes, I came accross that article thank you. However, my environment has 10k computer systems so this will not be sufficient.
Subsun:
In the tests I did it seems to work very well. However, a lot of software is left out because it doesn't have all of the software listed that is in 'Programs and Features.' I believe this is because most of the software is listed under:
HKLM\SOFTWARE\Wow6432Node\ Microsoft\ Windows\Cu rrentVersi on\Uninsta ll\
Problem with this is that Windows updates also show up there, so if we were to add that registry key to the script it would return a butt-load of KB's also.... any way to add that other reg location and filter out the updates? I'm looking for a key or naming convention that matches them all to use as a filter.
Yes, I came accross that article thank you. However, my environment has 10k computer systems so this will not be sufficient.
Subsun:
In the tests I did it seems to work very well. However, a lot of software is left out because it doesn't have all of the software listed that is in 'Programs and Features.' I believe this is because most of the software is listed under:
HKLM\SOFTWARE\Wow6432Node\
Problem with this is that Windows updates also show up there, so if we were to add that registry key to the script it would return a butt-load of KB's also.... any way to add that other reg location and filter out the updates? I'm looking for a key or naming convention that matches them all to use as a filter.
ASKER
It looks like the answer is in the keys.
Keys for system updates or .NET seem to end with the KB#, for example:
HKLM\SOFTWARE\Wow6432Node\ Microsoft\ Windows\Cu rrentVersi on\Uninsta ll\{F5B09C FD-F0B2-36 AF-8DF4-1D F6B63FC7B4 }.KB273701 9
Keys for Office applicaiton updates seem to use the same key number and then tag more to it. For example:
MS Office 2007 key: HKLM\SOFTWARE\Wow6432Node\ Microsoft\ Windows\Cu rrentVersi on\Uninsta ll\{901200 00-0011-00 00-0000-00 00000FF1CE }
MS Office 2007 Update:
HKEY_LOCAL_MACHINE\SOFTWAR E\Wow6432N ode\Micros oft\Window s\CurrentV ersion\Uni nstall\{90 120000-001 1-0000-000 0-0000000F F1CE}_PROP LUS_{0B7B1 3E7-52F2-4 4C8-84BC-5 B9C563AA57 2}
Keys for system updates or .NET seem to end with the KB#, for example:
HKLM\SOFTWARE\Wow6432Node\
Keys for Office applicaiton updates seem to use the same key number and then tag more to it. For example:
MS Office 2007 key: HKLM\SOFTWARE\Wow6432Node\
MS Office 2007 Update:
HKEY_LOCAL_MACHINE\SOFTWAR
ASKER
Anyone know how to add the wow6432node uninstall key to this?
I'll take just that and manually remove the KB's/updates if needed.
Maybe to remove the updates, something like Where-Object {not ( $_.AppID -like "KB*") }
I'll take just that and manually remove the KB's/updates if needed.
Maybe to remove the updates, something like Where-Object {not ( $_.AppID -like "KB*") }
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
footech: thank you, that is a good point and now that I know how, I will plug it in and try that out.
Subsun: What you do is art. I am still floored at how quickly you did that! And it works beautifully. I love the addition of the error colors and descriptions if a host could not be reached. It helps identify those that are offline versus those with configuration issues. I also see the -notmatch that you used and paired it with $Soft -ne null. Works great! Last, I have to commend you for the -Unique addition as it eliminated a lot of duplicates I saw previously.
Well done!
I will do some homework on functions and arrays. Very useful stuff, but imtimidating!
Subsun: What you do is art. I am still floored at how quickly you did that! And it works beautifully. I love the addition of the error colors and descriptions if a host could not be reached. It helps identify those that are offline versus those with configuration issues. I also see the -notmatch that you used and paired it with $Soft -ne null. Works great! Last, I have to commend you for the -Unique addition as it eliminated a lot of duplicates I saw previously.
Well done!
I will do some homework on functions and arrays. Very useful stuff, but imtimidating!
Glad to hear my solution works for you and has some added value!.. indeed, I learned a lot on EE.. :-)
Open in new window