At work, we have several laptops that roam around the building and connect to different printers at different times of the day. People always forget to choose the new printer when they move, resulting in print jobs that don’t get printed to the right printer and backlogs of queues on the disconnected printers.
Is there any way to automate this and make it more intelligent, setting the system-wide default printer as the last one to be connected via USB?
We have no network printers, so hopefully that makes life a bit easier. And sadly, Windows 7’s location-aware printing does not work because all the laptops are always connected to the same wireless network; there is no different IP or SSID through the day.
Is there a particular entry which consistently shows up in Event Viewer when a USB printer is connected? If so then it might be possible to assign a task to it (or use eventtriggers on Windows XP) to run a script which parses out the printer name and sets it as default.
As far as I know, Windows doesn’t assign a “time when installed” property to printers themselves.
Installing is different than plugging in the USB, though. If you plug the same printer into the same USB port it was in before, there’s no driver install process happening… so it’s a great idea, but I’m not sure if it’s a complete solution.
I don’t know how skilled you are at code, but you might be able to write a quick-and-dirty Service in C# or something else easy-to-program that periodically checks the list of printers, and if one that was previously offline comes online then sets it to default.