Skip to main content
Solved

Smart group by Printer URI?

  • October 13, 2017
  • 2 replies
  • 16 views

Forum|alt.badge.img+2

I'm looking for a way to create a smart group based on the URI of a printer.

For example, if the URI of a printer is ipp://127.0.0.1, I would want a smart group that looks for any printers with 127.0. in it.

Is this possible at all, maybe with an extension attribute?

Best answer by Anonymous

You could create a smart group using the criteria "Printers Mapped is <nameOfPrinter>" but if you want to specifically target the URI then you would need an extension attribute. After a quick look, it would appear this would actually be pretty straightforward as we can utilize lpstat to get printer information from client machines. Here's a quick and dirty way you could do this:

#!/bin/sh
printerURI="ipp://127.0.0.1"
isInstalled="False"

if [ "$(lpstat -p -v | grep $printerURI)" ] ; then
    isInstalled="True"
fi

echo "<result>$isInstalled</result">

You can change printerURI to "printerURI=$4" and then define the printer URI within the JSS script parameters instead of hardcoding it. The above example is far from robust or exhaustive, but you get the idea :)

2 replies

  • Answer
  • October 13, 2017

You could create a smart group using the criteria "Printers Mapped is <nameOfPrinter>" but if you want to specifically target the URI then you would need an extension attribute. After a quick look, it would appear this would actually be pretty straightforward as we can utilize lpstat to get printer information from client machines. Here's a quick and dirty way you could do this:

#!/bin/sh
printerURI="ipp://127.0.0.1"
isInstalled="False"

if [ "$(lpstat -p -v | grep $printerURI)" ] ; then
    isInstalled="True"
fi

echo "<result>$isInstalled</result">

You can change printerURI to "printerURI=$4" and then define the printer URI within the JSS script parameters instead of hardcoding it. The above example is far from robust or exhaustive, but you get the idea :)


Forum|alt.badge.img+2
  • Author
  • New Contributor
  • October 13, 2017

Thanks! Solved.