iprint Appliance 23.4 and below - iCM Auto Uninstall Printers

I have had a small Nagging issue with the iPrint Appliance since version 4.0 [I am now on version 23.4). Its not a deal breaker, but I'm not sure why it's an issue. I am using iCM with the Windows AD login As per this documentation (This integrates iCM with the Windows AD Login):
Configuring iPrint Client Management to Function Without Novell Client
(But I also followed the iprint documentaiton as well)

It's been working for years, and I can have printers install automatically based on the Group, as it following the distribution rights for iCM Example:

As you can see, I automatically install the printers for that site to the windows workstations, and then I have iprint REMOVE any printers that are not needed. All Groups, including the default gourps that were installed when creating the iprint appliance have rights to ALL of the printers. The appliance installs printers with 0 issues, however, it has trouble removing iprint printers from the workstation, sometimes it can remove some of them, other times it can remove non of them and it leaves them in this state, on the workstation when it cannot, does anyone know how to solve this or why the iprint client and iCM would have trouble removing printers, since the rights seem to be correct? I end up having to right click and remove them manually for the user sometimes, as well, it blocks the reinstallation of printers from iprint, since it thinks the printer and driver are there:


It would be nice if they cleanly uninstalled EVERYTIME.

  • 0  

    It will help to know what windows version are you running and iprint client version. Be sure you're using the 6.25 version.

    Then you can enable IPP trace following this doc:

    https://support.microfocus.com/kb/doc.php?id=7007023

    Then in iManager , iprint client management, advanced settings, enable the check boxes for :

    Display iCM results in a dialog box on workstations.
     Printer Configuration
     Client Configuration

    Then install latest  support plug in:

    zypper in -f supportutils-plugin-iprint

    Duplicate the problem and then type:

    iPrintInfo -b

    authenticate with admin.iprintappliance. This will generate a txt file. with this file and the c:/ndps log files, it may shows why it fails to uninstall. Check as well the windows even viewer for any errors there.

  • 0 in reply to   

    Okay I will complete these steps. Here is the Version of Windows 11 and iprint client I am using:
    Windows 11: 

    iprint client version:

    I will update to a newer version and  I will also run a trace.

  • 0 in reply to 

    By the way I am still testing this with debug, as I upgraded the client today, and as per usual some printers for a site uninstalled and some did not, but they ALL have the same rights under access control. For Instance I have one school that has 15 printers, 10 Uninstalled, and 5 did not....trying to wrap my head around that one, but hoping the logging tells me. As long as I can get this to work reliably I'll stick with this method.  But I will present the logs shortly.

    In the meantime, I have a related question. Is there a better way to do this?  Is there some kind of method that just "hides the printers from the users based on rights?  So for instance:

    TOM SITE 1: Tom logs in, and his printers install and then they are visible in Windows because he has rights to them
    LARTY SITE 2 (Visiting TOMS Site): LARRY walks up and logs into TOM's workstation. LARRY's printers install if they are not there, but he does NOT see tom's printer that are already there, because he has no rights to them. 

    Is this a thing in iprint? Is there some kinf of magic in iprint to do this on windows worksations? I will continue to debug the uninstall/removal of printers now.

  • 0 in reply to 

    (PS - I think removing them is better, because then I don't have a million printers installed)

  • 0 in reply to 

    Matthew,

    I came here to mention user printers, but Gonzalo already did that.

    If you want to permanently remove printers (eg: printers that have been decommissioned), you can run the following command on each workstation:

    C:\Program Files\Novell\iPrint\iprntcmd.exe -d ipp://<iprint_server>/ipp/<printer_name>

    I use ZENworks and run that command as a system user so I don't have to worry about rights.  I've never had a problem with that when getting rid of old printers.

    Ken

  • 0   in reply to 

    Thanks Ken

  • 0 in reply to 

    Hi Ken, thank you for the command. One point of note, is that I am not removing them permanently,  I am just removing the ones we do not need for that user session, so the user's only see their own. Printers. That's whyt I am hoping to get the iCM remove printers working consistently. Once I have the debig logs I am hoping to have some insight that I can post here.

  • 0 in reply to   

    I have the logs now, would you be willing to look at them with me?

  • 0 in reply to 

    So based on the logs and I will share them shortly, the problem is, from iPrint's perspective, All of its delete commands ARE carried out, and for all intensive purposes the printer IS gone according to the windows feedback BUT Windows leaves a "Ghost Object" as per the screenshot, that is still there....and I have to remove that object if I want those printers to install at a later date to an authorized user, please see attached log from one of the "Deleted" Printers:

    [NIPPNT] - OpenPrinter SUCCESS for ipp://iprint.mydomain.now/ipp/RANDOM Storage Room Printer
    [NIPPLIB] - FindPrtRefInList - called to find [prtRef=035A3320]
    [NIPPLIB] - FindPrtRefInList - WAIT for listMutex
    [NIPPLIB] - FindPrtRefInList - DONE waiting for Mutex
    [NIPPLIB] - FindPrtRefInList - FOUND [prtRef=035A3320]
    [NIPPLIB] - FindPrtRefInList - Release listMutex
    [NIPPNT] - ClosePrinter called for [prtRef=035A3320]
    [NIPPLIB] - IppDestroyPrinterRef - called for (035A3320)
    [NIPPLIB] - DeletePrtRefFromList - called to delete [prtRef=035A3320]
    [NIPPLIB] - DeletePrtRefFromList - WAIT for listMutex
    [NIPPLIB] - DeletePrtRefFromList - DONE waiting for Mutex
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 011158A0
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 0112E830
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 035A3320 (DELETING)
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - PrtRef = 00000000
    [NIPPLIB] - DeletePrtRefFromList - DELETED SUCCESSFULLY [prtRef=035A3320]
    [NIPPLIB] - DeletePrtRefFromList - Release listMutex
    [NIPPLIB] - IppDestroyPrinterRef(035A3320) DELETED SUCCESSFULLY