PowerShell

Create Software Inventory of Remote Machines/Servers using Powershell.

Hi,

Sometime i think that my Powershell blog postings are mainly TASK Based, i think my most of the post are related to “How to do that and how to achieve and ease that task with Powershell”, isn’t ?. The tittle of my blog is “The Life of an IT administrator”, and i love to share what this I.T. life shows me everyday, some days are like clam and peaceful and some someday we are like fire fighters.

Anyways today there is need arise that i need to create a report of Software Installed on every Server, for me this is a very tough JOB { if you do manually }, you can imagine that RDP to every server, open Control Panel and Programs and features, and do it manually…i don’t like this….but what you have to do, you have do , there is no choice…..

But

Thanks GOD we have PowerShell.

I have write down a tiny script which can do this task for us and export the data in to nicely formatted HTML file.

You can define multiple server name separated by commas, and this script will create a single HTML file that contains list of all software installed on each server.

Download Script from here http://gallery.technet.microsoft.com/scriptcenter/Software-Inventory-using-f2870b19

How to use script.

  1. Run Powershell as Administrator.
  2. After the name of the script type the name of the servers those software details you want to know.
  3. The output file will be saved to your D:\ Drive.

Note.: This script wont run for windows 2003 Severs,

I tested this script for Windows 2008 Servers and Windows 7 machine.

22-08-2012 13-23-36

22-08-2012 13-25-03

Download Script from here http://gallery.technet.microsoft.com/scriptcenter/Software-Inventory-using-f2870b19

Thanks

Aman Dhally

join aman on facebook Join aman on Linkedin follow aman on Twitter

14 thoughts on “Create Software Inventory of Remote Machines/Servers using Powershell.

  1. Had a quick question I am using the remote powershell script to create an HTML for installed software. I am executing the following command PS C:\> “.\software_inventory.ps1” SERVER but I get the following error.

    Unexepected token ‘SERVER’ in expression statement at line: char:42. Can you provide me with what I am doing incorrectly. Thank you

    1. Hi Manu,
      that should work fine, can you send me the screenshot of the error?

      thanks
      aman

    2. HI Manu,
      can you try to download the file again and try to use it again?

      thanks
      aman

    1. Hi Hassan,

      just give the comma separated names in the front of the script and that will do the the trick.
      and you can also edit the following line of the script to $arrComputer= Get-Content C:\Serverlist.txt to get the remote machines inventory,,

      But dont use this script in production environment.

      thanks

    1. Hi Pravin.

      can you please send me an email on what problem you are facing.

      thanks
      aman

  2. Works great for 32bit install but when you servers are 64bit then it will not find them.

  3. i want this data to be inserted to a database and extract when ever needed to enable the features like how many server have mssql installed and with specific version. basically search options

  4. Hi aman

    good script. I wish to get list of application from control panle app/remove (program and features). can you please help me on this.?

    Thanks
    Arvind

    1. Hi Arvind.

      Search bing/google on software inventory using PowerShell. you may able to some something ;o)

      Regards
      Aman

  5. Hi Aman,

    I have checked your script it’s awesome but can we provide mutiple system name 1 txt file & this script pickup all system name from that txt file & scan those machine save file on Central Location?

    Regards,
    Nitin J Panchal

Comments are closed.