Purge print driver cache on windows 7 with powershell script
Just because you're using PowerShell doesn't mean you can't use good old commands like sc stop/start servicename
, net use
, etc.
If you truly need a system restart, you'd probably need two separate scripts.
What's the problem with deleting the contents of the printer driver directory? Or did you mean something else by "file management"?
Doltknuckle
Updated on September 18, 2022Comments
-
Doltknuckle over 1 year
[Background]
We have been having trouble with our network clients suddenly being unable to print. They get an odd error with a hex code. We determined that something in the driver was messed up and we could resolve the issue by clearing the driver cache and reinstalling the driver. This happens to random computers every so often. We're assuming this is a bug with the latest Dell 2330dn driver since that is the only model that has this problem.
[Problem]
What we are looking to do is write a Powershell script that would clear the driver cache and redownload the driver. I see a ton of scripts out there to manage queues, servers, and ports, but nothing for local driver cache management.
[Current Workaround]
Since we have to do this manually, I'll write out the steps so you know what we want this script to replicate.
- Disable print spooler
- Restart machine
- Delete contents of: C:\windows\system32\spool\drivers\w32x86
- Enable print spooler and start service.
- Delete the network printer object and re-add network printer off of server.
[Request]
I'm good enough with powershell to translate the above workaround into a pair of scripts. I'd like to find a more elegant solution then my current workaround.
Any suggestions?
-
raja about 12 yearsthe only way I can think to do this would be a workflow - which isn't availale until v3
-
Sunny Chakraborty over 11 yearsWe have been having trouble with our network clients suddenly being unable to print. They get an odd error with a hex code >> What is the hex code We're assuming this is a bug with the latest Dell 2330dn driver since that is the only model that has this problem >> Did you try reverting to the old driver and then printing ?
-
Doltknuckle about 12 yearsI do have a scripting solution since it is easy to perform the workaround. I was hoping for something that didn't rely on a delete file command. What I am looking for is a different way of clearing the print drivers. Preferably one that can allow the print spooler service to remain on. Since it locks the affected files, you can't delete them with file explorer unless you restart the computer to release the files.
-
Doltknuckle about 12 yearsEdited question to beter match what I need.
-
northben about 12 yearswhat is the problem with the current script?
-
Doltknuckle about 12 yearsI'd like a solution that doesn't require a reboot which is difficult to do in the middle of the day. While it is trivial to perform the action after work hours, I'd like to find a better way.
-
northben about 12 yearsoh ok. So if you try to delete the old driver, what happens? Files are locked? In that case, fire up Sysinternals Process Explorer and see which process has the driver locked. Kill that, and try to delete the files...
-
Doltknuckle over 11 yearsIt's actually Explorer.exe which has the file locked. You can kill the process (which kills the windows interface) delete the file, and then relaunch explorer to bring back the windows interface. It's not a good experience for the end user if all of their windows suddenly disappear.