Cool Solution - Printer assignment
From Univention Wiki
This article is about the univention-printer-assignment package, as well as the functions of this package and the handling on the site of Windows Systems. The package univention-printer-assignment searches over the LDAP service for all printers in the network and sorts them alphabetic according to their group affiliation. The printer that was added first, in the alphabetic first group will be flagged as the default printer. With Samba 3 the Logon-scripts as well as the printer-assignment.vbs are stored in the directory /var/lib/samba/netlogon, with Samba 4 it is /var/lib/samba/sysvol/%DOMAIN NAME%/scripts.
The package univention-printer-assignment is available in the Cool Solutions Repository for UCS 3.0. Before installing the univention-printer-assignment package make sure that the UCR-variable repository/online/unmaintained is set on yes. To activate this variable over the graphical interface, you have to search in the Univention Directory Registry for *unmaintained* and set the repository/online/unmaintained, just by clicking at the variable and change the previous entry to yes. The package can be installed after activating the repository:
After the installation, you have to run the join-scripts, to add the "Printer Assignment" field to your UMC.
Now printers can be assigned to groups in the group administration in the Advanced settings tab. The printer definition will be distributed to the corresponding Microsoft Windows systems via Netlogon.
A feature of the univention-printer-assignment package is, that it is possible to set group-specific default printers. For that a computer and a printer (or more) has to be assigned to a group. To assign a computer to a group you have to select a group over the Group Administration and add, in the advanced setting in the field Host members, a computer to the group. If there are printers assignet to the group a own default printer will be assigned to the group, after executing the printer-assignment.vbs script.
With UCS 3.0 the anonymous ldap search has to be allowed, otherwise ldap can't find the Distinguished Name. To enable the anonymous ldap search in the graphical interface, search in the UCR for *anonymous* and set the variable ldap/acl/read/anonymous on yes. To enable the anonymous ldap search in the command shell, the following command is needed
ucr set ldap/acl/read/anonymous=yes
For the univention-printer-assignment package are variables available, that can be set for testing the functions of this package.
To enter the Debug-mode in the graphical interface, you have to search for *assignment* and set the variable printer/assignment/debug, just by clicking at the variable and change the previous entry to yes.
To enter the debug-mode in the command shell, the following command is needed
usr set printer/assignment/debug=yes
Another feature of the univention-printer-assigment package is the removeall variable. If this variable is set and the printer-assignment.vbs will be executed, all printers in the network will be deledet from the printer overview and new printers will be added in the printer overview.
To activate this variable over the graphical interface, you have to search in the Univention Configuration Registry for *assignment* and set the printer/assignment/removeall, just by clicking at the variable and change the previous entry to yes.
To set the variable in the command shell, the following command is needed.
ucr set printer/assigment/removeall=yes
Windows The printer-assignment.vbs script is found in the network on the logon server in directory \\%LOGONSERVER%\netlogon. It is sufficient to execute the file as the domain admisitrator. The sorting of the printers, as well as the setting of an default printer are processed automatically.
Please Note: The univention-printer-assignment package works only correct with Windows XP (or with earlier versions) with a 32-Bit architecture. With Windows 7 (wether 32- or 64-Bit) the package don't work.