Powershell Printer Script

Over the last 15 years I’ve tried pretty much every method of adding printers at logon there is – KIXTART script, VBS, Group Policy Preferences and Powershell. As part of speeding up logon, and investigating a weird issue with Windows 10 printers, I moved away from GPP and to Powershell shortly after we upgraded from Windows 8.1 to Windows 10.

Some detail is show to the user, this form isn’t modal so won’t take over the screen, and if they close it the script carries on in the background.

The issue being – roughly 5% of the time, on random user/computer combinations, printers would take a long time adding and then fail to add, with a non-specific error message. My first go at this was a basic powershell script which had a hard coded list of location/printer mapping, and it would run the “add printer” command repeatedly until the error went away. (It always added fine on the 2nd go). The problem with this is that it’s a complicated script for technicians to update, and being a single threaded script the nice form it displays showing people what’s happening would freeze while it was working in the background.

My new script does the bulk of the work in background jobs – so printers add quicker (as it can do more than one at once), and the UI doesn’t lock up and freeze. More importantly, it uses Group Policy Preferences by reading the XML file generated and applies that – so technicians have the familiar interface for adding/removing printers from the script.  Continue reading “Powershell Printer Script”

Classroom Queue in Papercut MF

We’ve recently switched from Ringdale FollowMe to PaperCut MF and I wanted to bring over our classroom queues. Unfortunately the supplier said this couldn’t be done, so I did some experimenting and worked out how myself.
The idea behind the classroom queue is that a second printer is listed on each PC in the room, so for room 10 the PCs would all show the “PaperCut” printer and also “Room 10”. Print to PaperCut and you use your personal code to release, print to Room 10 and you use the room code. This way a class of 24 pupils can all print their work to the Room 10 queue, then the teacher (or a single pupil) can go and release all 24 documents in one go. Loads quicker than a queue forming at the device.
Continue reading “Classroom Queue in Papercut MF”