Configuring TCP/IP Printers in ZENworks 10 Configuration Management



Installing a TCP/IP printer by using the printer policy of ZENworks Configuration Management.


This solution is tested on Windows XP, Windows 2003 server and Windows Vista device.

  1. Download createPrinter.bat file to a temporary location on the device.

  • In ZENworks Control Center, create a bundle.

  • Add the Install Directory action to upload the printer driver such as hp4100p6.inf to a directory on the managed device.

  • Add the Install Files action to upload the createPrinter.bat you downloaded in Step 1 to the managed device.

  • Add the Launch Windows Executable action to execute the batch file on the managed device.

    In the Command Line Parameters option, specify the following arguments:

    • IP of the printer

  • Name of the printer object on the managed device.

  • Model of the printer

  • The complete path of the driver that you uploaded in Step 3

The model of the printer and driver path arguments should be enclosed in double quotes.

For example, test "HP LaserJet 4100 PCL 6" "c:\lj4100\hp4100p6.inf"

  • Assign the bundle to a user or device based on the requirement.

  • Set the distribution or launch schedules based on the requirement.

  • Launch the bundle on the managed device.


How To-Best Practice
Comment List
  • in reply to MigrationDeletedUser
    ECHO Windows Registry Editor Version 5.00 > tcpipports.reg

    REM reg file header and parent key


    ECHO [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports]
    ECHO "StatusUpdateInterval"=dword:0000000a
    ECHO "StatusUpdateEnabled"=dword:00000001

    ) >> tcpipports.reg

    REM LOOP IP addresses and create keys

    ECHO ;port %1
    ECHO [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_%1]
    ECHO "Protocol"=dword:00000001
    ECHO "Version"=dword:00000001
    ECHO "HostName"=""
    ECHO "IPAddress"="%1"
    ECHO "HWAddress"=""
    ECHO "PortNumber"=dword:0000238c
    ECHO "SNMP Community"="public"
    ECHO "SNMP Enabled"=dword:00000000
    ECHO "SNMP Index"=dword:00000001
    ) >> tcpipports.reg

    REM silently import the keys into the registry
    REGEDIT /S tcpipports.reg

    REM delete the reg file (in this case, consider using %temp%\tcpipports.reg )
    REM DEL tcpipports.reg
    net stop "Print Spooler"
    net start "Print Spooler"
    rundll32 printui.dll,PrintUIEntry /if /b %2 /f %4 /r "IP_%1" /m %3

  • All docs say download createPrinter.bat, however the only download available is a zip file of 656 bytes. Downloaded that and extracted, looks like no bat file i have ever seen, just garbage like a binary. Please help, this looks like exactly what i need, sure i am just missing something. When the script runs on the target machine it asks which program to open createprinter with as it does not recognize it as a batch file.
  • I've used this method to let users install printers themselves when they need to. Works flawlessly so far. We've modified the process to fit our needs. I also templated each of the printer models so creating a new printer bundle takes only a few minutes to accomplish. So far I've found it better than using IPrint. Printer drivers rarely change in our environment so this solutions works very well.

    Further I've used ZCM and assigned all printers to the workstations so all workstations can see the printers. Giving each bundle a requirement of the IP address segment I can control who gets to see the printer. If the laptop or desktop moves to a new segment they get to see and install the printer if they need it.

    Also we made sure each of the printers is in its own folder so when the users look for a printer, the printer is sorted logically based on Site, Building, and floor.

    Sort of like this:
    Network Printers & Copiers
    Printer Name
  • I have tried installing a few tcp/ip printers using this method, but have been unsuccessful. I keep getting the error message "Operation could not be completed. Windows cannot locate a suitable printer driver. Contact your administrator for help locating and installing a suitable driver." I have set the path correctly to the driver and the driver is there. If I manually install the printer and point to that driver it installs fine. I could use some help trying to figure out how to get this working. Thanks.