/build/static/layout/Breadcrumb_cap_w.png

Is there a script that allows you to create a Custom Inventory Field to return IP Addresses?

I am trying to relate the networked printers IP addresses to the computers in the inventory.  I would like to create a Custom Inventory field that will show all the IP addresses for the networked printers installed on that computer.  So if i would do an advanced search and select that custom inventory field = IP Address, all computers who have that IP Address related to it will show up.  Is there a script to do this. I hope that explaination wasn't confusing. Thanks.

Sorry I meant to add, I am trying to do this on Dell KACE K1000 Management Appliance


0 Comments   [ + ] Show comments

Answers (3)

Posted by: Asevera 11 years ago
Blue Belt
2

maybe try running this from a batch file or shell script on your devices:

Cscript %WINDIR%\System32\Printing_Admin_Scripts\en-US\Prnmngr.vbs -l > C:\printerslist.txt

(more info here: http://technet.microsoft.com/en-us/library/cc725868%28WS.10%29.aspx)

this will output the printers list from prnmngr to a text file that has entries kind of like this:

Server name
Printer name HP Color LaserJet 3600
Share name
Driver name HP Color LaserJet 3600
Port name 255.255.255.255 (printers IP address appears here)
Comment
Location
Print processor hpcpp6de
Data type RAW
Parameters
Attributes 576
Priority 1
Default priority 0
Average pages per minute 0
Printer status Idle
Extended printer status Unknown
Detected error state Unknown
Extended detected error state Unknown

which you can then setup to work as a custom inventory item with a software entry like this:

ShellCommandTextReturn(cmd /c type c:\printerslist.txt)

 


Comments:
  • I don't have a network printer on this system to try it out, but you may be able to use FIND in the custom inventory rule to narrow the information down. Something like this:

    ShellCommandTextReturn(cmd /c type c:\printerslist.txt | find "Printer name"; "Port name")

    More info on the find command: http://ss64.com/nt/find.html - jknox 11 years ago
    • In playing around with it (because I like this idea, the IP addresses don't actually come across on the inventory pages under the printer data) I was unable to get "find" to work in the CI rule, so I bypassed it entirely and changed the initial script to filter the data for me. Example:

      del C:\printerslist.txt
      Cscript %WINDIR%\System32\Printing_Admin_Scripts\en-US\Prnmngr.vbs -l > C:\FPL.txt
      findstr /v "Script Copyright Default Server Location Comment Parameters Attributes Priority Average status Extended error Share processor type" C:\FPL.txt > C:\PrintersList.txt
      del C:\FPL.txt

      This kills any existing printerslist.txt, runs the prnmngr command to generate this list to a temporary file, then uses findstr to kill irrelevant lines in the temp file before porting everything to the "final" printerslist.txt. Cleanup of the temp file is last. Ugly? Maybe, but the end result is quite nice. A CI entry with Printer Name, Driver name and Port (IP/USB/ETC) and a total number of installed printers. This also picks up Adobe printers, Faxes, Office file printers, etc. - Asevera 11 years ago
Posted by: BHC-Austin 11 years ago
4th Degree Black Belt
1

Try this on for size, if you just want something basic:

ShellCommandTextReturn(cmd /c powershell.exe "Get-WmiObject -class Win32_Printer | Select-Object Name,PortName")

That will return a formatted table, first column printer name, second column printer port name (which will usually contain IP address for TCP/IP Ports). Of course, the HTML engine will strip out the extra spaces, so it won't format as pretty as if you ran it from a command prompt yourself, but it will make it searchable as you're looking for.

That command will also prevent the need of figuring out how to get a script onto all of your PCs.

Posted by: chucksteel 11 years ago
Red Belt
0

I would check out jverbosk's work:

http://www.itninja.com/blog/view/k1000-reports-default-all-local-printers-w-vbscripts

 

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ