Purge print driver cache on windows 7 with powershell script

5,805

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"?

Share:
5,805
Doltknuckle
Author by

Doltknuckle

Updated on September 18, 2022

Comments

  • Doltknuckle
    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.

    1. Disable print spooler
    2. Restart machine
    3. Delete contents of: C:\windows\system32\spool\drivers\w32x86
    4. Enable print spooler and start service.
    5. 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
      raja about 12 years
      the only way I can think to do this would be a workflow - which isn't availale until v3
    • Sunny Chakraborty
      Sunny Chakraborty over 11 years
      We 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
    Doltknuckle about 12 years
    I 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
    Doltknuckle about 12 years
    Edited question to beter match what I need.
  • northben
    northben about 12 years
    what is the problem with the current script?
  • Doltknuckle
    Doltknuckle about 12 years
    I'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
    northben about 12 years
    oh 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
    Doltknuckle over 11 years
    It'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.