PaperCut Print Release using RFID cards

RFID reader fitted to copier

A couple of years ago we replaced our copier fleet and moved to PaperCut MF, with a single print queue for the entire site and users had to go to their nearest copier and enter their code to release their printing. Almost perfect setup but people struggle to remember 5 digit codes, so I had a look at using their existing student/staff ID cards instead. We already sync Active Directory to PaperCut so the ideal solution would be storing the RFID codes in Active Directory, and using that data as the user’s login code in PaperCut.

Step 1 – Card readers for copiers

Staff IDs are printed on cards compatible with the  Paxton Net2 access system (which are quite expensive); student IDs are printed on the cheapest RFID ISO cards I could find (as we didn’t want student IDs to work with the access system at the time). This means we need to find a reader that can cope with both formats. Luckily the copiers we installed (Sharp MX6050) have a USB port on the back panel and will accept a RFID reader which emulates a keyboard.

We ran a trial with a cheap £5 reader off eBay (which would read the student cards but not the staff cards) to make sure you could actually just plug the reader in, present a card and have PaperCut log in. This was a success, so on to finding a card reader that will read the Paxton cards.

After some help from a friend who has a similar setup I went with Inepro’s SCR708.I USB card reader. This can be programmed to support various card types, perfect. Programming the reader requires the config software which is available from Inepro, and is a bit of a case of trial and error until you get it reading all your card formats and outputting the correct data.

Step 2 – Getting the RFID data into Active Directory

You want to keep the leading zeros so try to avoid using Excel if you can!

You’ll need to pick an attribute in which to store the RFID code. I went with employeeID as we don’t use that for any other systems, but you could use one of the customAttributes.

Create a CSV file containing all your usernames (I used their sAMAccountName, although you could use UserPrincipalName and alter the script accordingly) and all the RFID codes.
Now run through the powershell script, putting the path to your CSV file in $csvPath and your Active Directory domain into SearchBase (in the form dc=contoso,dc=com for contoso.com). If you’re using a different attribute than employeeID swap that for the correct attribute too.

$csvPath = "RFID.csv"
$csv = Import-CSV $csvPath
foreach ($entry in $csv) {
    $sAN = $entry.Username
    if ($user = Get-ADUser -Filter {sAMAccountName -like $sAN} -SearchBase "dc=contoso,dc=com" -Properties employeeID) {
        Set-ADUser $user -Clear "employeeID"
        Set-ADUser $user -Add @{employeeID=$entry.RFID}
    } else {
        Write-Host "FAIL: $sAN"
    }
}

Step 3 – Syncing Active Directory to PaperCut

Log into your PaperCut admin console (by default it’s http://server:9191/admin) and go to Options, then User/Group Sync.

Set the Primary sync source to Windows Active Directory, and either Import all users or filter which users you are importing by only picking selected groups. I’d go with the group option so you’re not wasting papercut user licences on system/test accounts that never need to print.

Once complete you should see the RFID number under Card/Identity Numbers when examining a user account

Set either your primary or secondary number to “Sync from AD/LDAP field”, and put the field name into the box (in my case, employeeID). I already have auto generated IDs set as the primary number, so I went with secondary for the synchronised field.

Apply your settings, Test them and if it looks okay, Synchronise Now.

Finally, send something to your release queue and visit the printer with your RFID card. Scanning the card should log you in, and you can then release your print job.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.