Windows Troubleshooting : Print Spooler Service startup issue.
We all have witnessed issue with frequent stop or start-stop behaviour of Print Spooler Service. I have documented the detailed steps for permanent fix for the same.
1- Ensure Services Startup type is set to Automatic.
- Start > search for Command Prompt > Right click and run as Administrator.
- Type below command in CMD window.
SC CONFIG Spooler Start= Auto
*** ***
2- Ensure the service is in stopped state.
- Type below command in Command window.
Net Stop Spooler
*** ***
3- Take backup of the data in below directories. Execute the below commands and rename the directories.
Rename C:\Windows\System32\spool\PRINTERS Printers-bkp
Rename C:\Windows\System32\spool\drivers Drivers-bkp
4- Create these directories again.
MkDir C:\Windows\System32\spool\Printers
MkDir C:\Windows\System32\spool\Drivers
5- Change ownership of the below file from Trustedinstaller to Administrators. Once Administrator has ownership and change permissions for all listed user to Full Control.
TakeOwn /A /F c:\windows\system32\print.exe
TakeOwn /A /F c:\windows\system32\spoolsv.exe
6- Check permission level on these objects.
***ICACLS c:\windows\system32\print.exe ***
ICACLS c:\windows\system32\spoolsv.exe
*** ***
Output should be like below, make note of every object.
NT SERVICE\TrustedInstaller:(F)
BUILTIN\Administrators:(RX)
NT AUTHORITY\SYSTEM:(RX)
BUILTIN\Users:(RX)
7- Change permission level of above objects to Full Access. There are chances the commands mentioned below might not work for all the objects listed there however it can be modified manually. Provided below the steps for both the methods.
** **
- **Modify permission on c:\windows\system32\print.exe **
** **
> Manual Method : Start Windows Explorer (Start + E) > Locate the object c:\windows\system32\print.exe > Right click > Change permissions for all listed user to Full Control.
** **
> Command Method
ICACLS c:\windows\system32\print.exe /grant SYSTEM:f /t /q
ICACLS c:\windows\system32\print.exe /grant Administrator:f /t /q
ICACLS c:\windows\system32\print.exe /grant Users:f /t /q
- Modify permission on c:\windows\system32\spoolsv.exe
> Manual Method : Start Windows Explorer (Start + E) > Locate the object c:\windows\system32\spoolsv.exe > Right click > Change permissions for all listed user to Full Control.
** **
> Command Method
ICACLS c:\windows\system32\spoolsv.exe /grant SYSTEM:f /t /q
ICACLS c:\windows\system32\spoolsv.exe /grant Administrator:f /t /q
ICACLS c:\windows\system32\spoolsv.exe /grant Users:f /t /q
8- Now the Service Print Spooler can be started successfully.
- Type below command in Command window.
Net Start Spooler