Print Driver being modifyied


we having problems similar issues described in

http://social.technet.microsoft.com/forums/en-us/winserverprint/thread/e2acb625-027d-47a9-b4a7-1616e270bcbc

every day having 8-15 users calling saying unable print. local spoolsv.exe service changing registry key entry hkey_local_machine\system\currentcontrolset\control\print\environments\windows x64\drivers\version-3\hp universal printing ps (v5.2) or ever default printer is. have tried different version of driver , happen our xerox if default. problem easy enough fix deleting corrupt key, reinstalling default printer , restarting print spooler can print again. problem may happen again them next day, or may month later. specific entries being modified string values dependant files, file , monitor.

the errors in event log show:

the document untitled - notepad, owned username, failed print on printer {guid}. try print document again, or restart print spooler.
data type: nt emf 1.008. size of spool file in bytes: 5332. number of bytes printed: 0. total number of pages in document: 1. number of pages printed: 0. client computer: \\computername. win32 error code returned print processor: 5. access denied.

we printing win2008 r2 server, have printer driver isolation set on machines drivers on print server. kb2467753 has been applied machines our print server.

http://social.technet.microsoft.com/forums/en-us/winserverprint/thread/19bb64cc-249e-4f36-a02d-2b43703d5a0d

suggests turn off csr (client-side rendering) of our printers. passes problem local drivers being corrupted, tax our print server more , take longer print. need find out why registry key being modified in first place spoolsv.exe process , not try bypass local rendering.

as weird side note driver corruption still able print adobe reader, must using own driver files.


the driver patch information i'm sure useful, looks real issue when redirect print server , microsoft's spooler.exe service. redirected our print server again , went through exact same issue again multiple print drivers being corrupted day. myself , colleague put .vbs script , rolled .exe fix printers our desk. put in computer name experiencing issue , scan registry blank values in "dependent files" key under hkey_local_machine\system\currentcontrolset\control\print\environments\windows x64\drivers\version-3.  if finds it delete , restart print spooler service on computer prompting re-download driver.

this work regardless of domain, printer brand or driver using. have seen corrupted drivers on , has been tested xerox, samsung , hp printers multiple driver versions.  when run pop box letting know driver deleted , when done restarting print spooler. if no corrupt drivers found let know. recommend telling users restart application attempting print best results.

rem created 6/3/2013 rem created nathan warren , trevor mcclanahan rem tired of fixing printer drivers after redirecting new print server rem fix default printer driver becoming corrupted rem script search empty data values in dependant files reg key signifying corrupt driver rem if finds blank value delete key associated , restart print spooler prompting computer redownload driver print server           const hklm = &h80000002  const startkey    = "system\currentcontrolset\control\print\environments\windows x64\drivers\version-3" const searchvalue = "dependent files" const matcharrvalues   = "" dim result  strcomputer = inputbox("enter name of remote computer:","corrupt printer driver") result = false  set reg = getobject("winmgmts:" _     & "{impersonationlevel=impersonate}!\\" _     & strcomputer & "\root\default:stdregprov") set objwmiservice = getobject("winmgmts:" _     & "{impersonationlevel=impersonate}!\\" _     & strcomputer & "\root\cimv2")   findanddeletekey startkey  restartspooler message  sub findanddeletekey(key)   wscript.echo "[hklm\" & key & "]"   rc = reg.getmultistringvalue(hklm, key, searchvalue, arrvalues)   if not isnull(arrvalues)   each strvalue in arrvalues     wscript.echo """" & searchvalue & """=""" & strvalue & """" 	next 	for each strvalue in arrvalues     if strvalue = matcharrvalues       delkey hklm, key 	  result = true 	  exit sub     end if  	next   end if       reg.enumkey hklm, key, subkeys   if not isnull(subkeys)     each sk in subkeys       findanddeletekey key & "\" & sk     next   end if end sub  sub delkey(root, key)   reg.enumkey root, key, subkeys   if not isnull(subkeys)     each sk in subkeys       delkey root, key & "\" & sk     next   end if   rc = reg.deletekey(root, key)   msgbox "deleting [hklm\" & key & "]"  end sub  sub message() 	if result = true 	msgbox "corrupt driver deleted , spooler restarted" 		else 	msgbox "no problems found" 	end if end sub  sub restartspooler() 	 set collistofservices = objwmiservice.execquery _ ("select * win32_service displayname ='print spooler'") each objservice in collistofservices       objservice.stopservice()     wscript.echo "stopped spooler service"       wscript.sleep(5000)     objservice.startservice()     wscript.echo "started spooler service" 	 next  end sub 



Windows Server  >  Print/Fax



Comments

Popular posts from this blog

Motherboard replacement

Cannot create Full Text Search catalog after upgrading to V12 - Database is not fully started up or it is not in an ONLINE state

Remote Desktop App - Error 0x207 or 0x607