sonofsanta Posted October 17, 2012 Posted October 17, 2012 It's everyone's favourite topic! And it's driving me bl%%dy mad at the moment and making me look bad to boot. We did the Windows 7 thing this summer, so printers needed redeploying which we did from a new 2k8R2 print server. We used to do printers by GPO (pushprinterconnections.exe etc.) but under 2k8R2, printers were never unlinked from roaming profiles, so students ended up with every printer in school added. Rubbish. So we moved to GPP which, 98% of the time, works fine. We can set the default, clear all printers etc. but intermittently, printers will fail to install on login. Each printer has its own GPO. Loopback processing is set to merge, and a shared printer is added under User Preferences using the FQDN of the server. Using the NetBIOS name was worse. Using the print server's IP made no difference. We need to add them shared for PCounter, we can't add them directly by IP. Setting a VBS script to force a gpupdate on login seems to fix the problem at login. Unfortunately when policy refreshes in the background, printers then sometimes disappear. Not a problem for most people, but some staff are logged on at machines for longer than an hour so get hit by this 90 minute refresh (this includes my line manager in SMT). If I set the group policy to not refresh printers during background policy refreshes, it prevents the login script from re-evaluating printers, so printers might be missing from login, therefore affecting more users. Not an improvement. All my printers are using the most up to date drivers available (Oki Executive Series, fwiw). The most common error is 0x80070bc4 No printers were found but occasionally 0x8007007a The data area passed to a system call is too small crops up as well. If I tick the Common option to Run in Logged On Users Security Context then I get errors about the environment being incorrect instead, and there's no improvement. 98% of the time it is fine. The printers are all added fine. There is no rhyme nor reason to the failures. I am going mad trying to pin this down. So: anyone know why this happens occasionally? Anyone know how to stop background refreshes without blocking the script, or a way to retrigger the script on background refresh? A way of getting more detailed logs than what I'm seeing in the application log? Or, if all else fails, anyone got a nice, quick, clean script to add a printer that won't slow logins down? No need for logic with the computer name etc. as the one-GPO-per-printer works fine. tl;dr: why won't printer GPP just work, goddammit.
AngryTechnician Posted October 17, 2012 Posted October 17, 2012 First thing: have you installed any GPP hotfixes?
sonofsanta Posted October 17, 2012 Author Posted October 17, 2012 First thing: have you installed any GPP hotfixes? Not as I know of, unless they've been rolled up in the usual round of patches; most hotfixes I've seen mentioned around the Internet have been for Vista. If you know of any that you think might help (or where I can dig through the available hotfixes) I'd be delighted to test them.
AngryTechnician Posted October 17, 2012 Posted October 17, 2012 This one solved a plethora of niggles for me: You experience a long domain logon time in Windows 7 or in Windows Server 2008 R2 after you deploy Group Policy preferences to the computer It includes a bunch of previous hotfixes for GPP too, some of which were specifically for Printers. 1
adhutton Posted October 17, 2012 Posted October 17, 2012 It's everyone's favourite topic! And it's driving me bl%%dy mad at the moment and making me look bad to boot. We did the Windows 7 thing this summer, so printers needed redeploying which we did from a new 2k8R2 print server. We used to do printers by GPO (pushprinterconnections.exe etc.) but under 2k8R2, printers were never unlinked from roaming profiles, so students ended up with every printer in school added. Rubbish. So we moved to GPP which, 98% of the time, works fine. We can set the default, clear all printers etc. but intermittently, printers will fail to install on login. Each printer has its own GPO. Loopback processing is set to merge, and a shared printer is added under User Preferences using the FQDN of the server. Using the NetBIOS name was worse. Using the print server's IP made no difference. We need to add them shared for PCounter, we can't add them directly by IP. Setting a VBS script to force a gpupdate on login seems to fix the problem at login. Unfortunately when policy refreshes in the background, printers then sometimes disappear. Not a problem for most people, but some staff are logged on at machines for longer than an hour so get hit by this 90 minute refresh (this includes my line manager in SMT). If I set the group policy to not refresh printers during background policy refreshes, it prevents the login script from re-evaluating printers, so printers might be missing from login, therefore affecting more users. Not an improvement. All my printers are using the most up to date drivers available (Oki Executive Series, fwiw). The most common error is 0x80070bc4 No printers were found but occasionally 0x8007007a The data area passed to a system call is too small crops up as well. If I tick the Common option to Run in Logged On Users Security Context then I get errors about the environment being incorrect instead, and there's no improvement. 98% of the time it is fine. The printers are all added fine. There is no rhyme nor reason to the failures. I am going mad trying to pin this down. So: anyone know why this happens occasionally? Anyone know how to stop background refreshes without blocking the script, or a way to retrigger the script on background refresh? A way of getting more detailed logs than what I'm seeing in the application log? Or, if all else fails, anyone got a nice, quick, clean script to add a printer that won't slow logins down? No need for logic with the computer name etc. as the one-GPO-per-printer works fine. tl;dr: why won't printer GPP just work, goddammit. I agree, the whole thing s a right royal PITA! We have problems which are pretty similar to yours..... It works 98% of the time and is generally good for students who log-in, use the computer, log-off and go to another classroom. No bother. The problems seem to hit staff members who log in to a computer, use it then lock it and go to another classroom to teach. Then we get the 'The printers aren't working' cry...... I have considered forcing everyone to log off when they are finished and not allowing them to lock the PC and then go to another, but I just know that will be a world of hurt as well because some staff will not log-off and instead just leave their computer unlocked and open for anyone to use!!! I just wish there was a solid, working solution for printer mapping - especially for schools!!! Andrew
sonofsanta Posted October 17, 2012 Author Posted October 17, 2012 This one solved a plethora of niggles for me: You experience a long domain logon time in Windows 7 or in Windows Server 2008 R2 after you deploy Group Policy preferences to the computer It includes a bunch of previous hotfixes for GPP too, some of which were specifically for Printers. Pushed out to our little test area with SCCM, we'll see how it goes over the next day or so... cheers.
sonofsanta Posted October 17, 2012 Author Posted October 17, 2012 Hotfix deployed, computer restarted, 3 of the 5 computers had "Printer could not be found" on both linked printers within half an hour of the hotfix going out. Buggrit. Any other likely hotfixes anyone knows of?
sonofsanta Posted October 18, 2012 Author Posted October 18, 2012 kb2693010 hasn't made any difference either, still getting "No printer found" errors. I couldn't spot any other likely hotfixes for Win7 x64 SP1. Anyone got any other ideas?
Duke5A Posted October 18, 2012 Posted October 18, 2012 I tried this move once and wound up crawling back to VB script on my hands and knees asking for forgiveness. I posted an example of the printer deployment sub we use to my blog. VB Script for network printer deployment - Blogs - EduGeek.net I don't know how it would behave in a mixed environment though, deploying printers using both VB and GPP. Good luck! 1
sonofsanta Posted October 18, 2012 Author Posted October 18, 2012 (edited) I tried this move once and wound up crawling back to VB script on my hands and knees asking for forgiveness. I posted an example of the printer deployment sub we use to my blog. VB Script for network printer deployment - Blogs - EduGeek.net I don't know how it would behave in a mixed environment though, deploying printers using both VB and GPP. Good luck! If I'm going to switch deployment I'm going to switch fully, I can at least repurpose the existing GPP GPOs as they're all set up in the right place, I just need to go through one by one and change 'em over. Which I'm very close to doing right now. I'm guessing I replicate the GPP (remove all printers, add new default) with something like: Set wshNetwork = CreateObject("WScript.Network") on Error Resume Next 'Deletes all network printers Set clPrinters = wshNetwork.EnumPrinterConnections On Error Resume Next For i = 0 to clPrinters.Count - 1 Step 2 wshNetwork.RemovePrinterConnection clPrinters.Item(i+1), true Next 'Add Network printer wshNetwork.AddWindowsPrinterConnection "\\printserver.domain.local\PRINTER" 'Set Default Printer wshNetwork.SetDefaultPrinter "\\printserver.domain.local\PRINTER" but I am not a scripty person so I've cobbled that together from text files I have lying around - tell me if I'm going wrong. For additional printers I can just do the first line & penultimate pair of lines, I think? Edited October 18, 2012 by sonofsanta
Duke5A Posted October 19, 2012 Posted October 19, 2012 If I'm going to switch deployment I'm going to switch fully, I can at least repurpose the existing GPP GPOs as they're all set up in the right place, I just need to go through one by one and change 'em over. Which I'm very close to doing right now. I'm guessing I replicate the GPP (remove all printers, add new default) with something like: but I am not a scripty person so I've cobbled that together from text files I have lying around - tell me if I'm going wrong. For additional printers I can just do the first line & penultimate pair of lines, I think? That's pretty much it. If you're just looking to do something simple like add a couple printers to everyone that runs the script it's only a couple lines of code. Once you play around with it enough you can start getting into conditions and map printers based off of WMI queries, user group membership, computer and user object location in AD, etc... 1
Arthur Posted October 20, 2012 Posted October 20, 2012 Any other likely hotfixes anyone knows of? Here are a few more print related hotfixes... KB2537549 - Cannot deploy a printer by using a GPO if read-only domain controllers are exclusively used in the domain environment in Windows 7 or in Windows Server 2008 R2. This hotfix contains the most current version of PRINTER Group Policy Preferences for Windows 7/2008 Post SP1. KB2647753 - Update rollup for the printing core components in Windows 7 and Windows Server 2008 R2. KB2526028 - Printing performance decreases in Windows 7 or in Windows Server 2008 R2. KB2618574 - Print Spooler service saves the NetBIOS name of the print server in Windows 7 or in Windows Server 2008 R2 A list of other post-SP1 hotfixes can be found here... Links to post SP1 hotfixes for Windows 7 Service Pack 1 Links to post SP1 hotfixes for Windows Server 2008 R2 Service Pack 1 List of performance hotfixes post SP1 for Windows 7 SP1 1
sonofsanta Posted October 22, 2012 Author Posted October 22, 2012 Alas, I've just gone through all those hotfixes and it's still doing it. Scripts it is then! Just... grr. I like the idea of GPP, I like the execution of GPP, I just don't like the way it doesn't bl%%dy work.
Arthur Posted October 22, 2012 Posted October 22, 2012 I just don't like the way it doesn't bl%%dy work. I wonder if it is more reliable in Windows 8?
AngryTechnician Posted October 23, 2012 Posted October 23, 2012 KB2537549 - Cannot deploy a printer by using a GPO if read-only domain controllers are exclusively used in the domain environment in Windows 7 or in Windows Server 2008 R2. This hotfix contains the most current version of PRINTER Group Policy Preferences for Windows 7/2008 Post SP1. Where did you get this information? I ask because this hotfix does not update Gpprefcl.dll, it updates Gpprnext.dll, which is the Group Policy Printers extension (i.e. what you see under Policies\Windows Settings\Deployed Printers). This is not the same as the Printer section of Group Policy Preferences, although they achieve similar goals.
Arthur Posted October 23, 2012 Posted October 23, 2012 Where did you get this information? From Yong Rhee. It looks like he was wrong in this case.
Psymon Posted October 23, 2012 Posted October 23, 2012 I have had this one before - group policy refreshes in the background and removes the printer. You need to enable this setting, it removes printers from the refresh. [COMPUTER POLICY\ADMINISTRATIVE TEMPLATES\SYSTEM\GROUP POLICY\Printers preference extension policy processing] 2
sonofsanta Posted October 23, 2012 Author Posted October 23, 2012 I have had this one before - group policy refreshes in the background and removes the printer. You need to enable this setting, it removes printers from the refresh. [COMPUTER POLICY\ADMINISTRATIVE TEMPLATES\SYSTEM\GROUP POLICY\Printers preference extension policy processing] I have a choice with that one. If I don't set it, some users have printers disappear on them through the day i.e. at background refresh. If I do set it, then the gpupdate /force script run on login doesn't refresh printers and therefore people don't always have the printers there at login. Given that everyone logs in, but only a small subset of users stay logged in for more than an hour, I've gone with the former so far, but that small subset is people like SMT, so it's not viable long-term. Just testing scripts now - they seem more reliable at adding the printers (and are certainly quicker) but don't always seem to strip printers out correctly in the first place. There is a reg key I can experiment with on that front, though.
Psymon Posted October 23, 2012 Posted October 23, 2012 I found that 98%people successfully got printers correctly installed at first logon - so if someone did have a problem with printers, I recommend they log off/on again. It seemed more reliable than a refresh every 1 hour, with an 8 hour working day there were 8 chances of it messing up your printers.
sonofsanta Posted October 23, 2012 Author Posted October 23, 2012 I found that 98%people successfully got printers correctly installed at first logon - so if someone did have a problem with printers, I recommend they log off/on again. It seemed more reliable than a refresh every 1 hour, with an 8 hour working day there were 8 chances of it messing up your printers. I've been doing that as a temporary measure but I don't much enjoy explaining to the head while he has to close everything he is working on to log out and log back in just to get his printer back. It seems to hover about the same figure here but it was always 100% with GPO under 2k3, and it's not a difficult thing I'm asking of Microsoft, I just want it to work! Thinking about it from the other angle, as well, with 450 computers here, 5 periods, there are probably somewhere around 2000 logins in a day. That's 40 people every day not getting printers added correctly. It might be intermittent on individual logins, but it scales up to a big, daily problem that makes the new system look bad.
chazzy2501 Posted October 26, 2012 Posted October 26, 2012 How would I push the GPP hotfix out via WSUS for my XP and Windows 7 PCs?
sonofsanta Posted October 26, 2012 Author Posted October 26, 2012 How would I push the GPP hotfix out via WSUS for my XP and Windows 7 PCs? No idea via WSUS - maybe you can import it from the Microsoft Catalog? - but I can tell you how to do it with SCCM, if you're running that.
3s-gtech Posted October 26, 2012 Posted October 26, 2012 I've a feeling something came down the wires in updates here last week, but it's difficult to pinpoint what - our LA managed to block BITS so WSUS hasn't been working properly for a while. Fixed this, and the updates started to spill out to clients. Now, GPP is not as reliable as it was (we get this now). I've changed the shared printer server names to be the FQDN, and added a Delete All printers GPP object for logons, which seems to have improved it. It just seems to have some annoying issues still, for some random users on random PCs.
AngryTechnician Posted October 29, 2012 Posted October 29, 2012 How would I push the GPP hotfix out via WSUS for my XP and Windows 7 PCs? You will have to use Local Update Publisher to add it to WSUS yourself. Hotfixes are by definition not available in WSUS or in the Windows Update Catalog (when they get that far they just call them updates rather than hotfixes). LUP does take a bit of setting up and learning, but it's well worth it IMO. 1
plexer Posted December 17, 2012 Posted December 17, 2012 Ok riddle me this, If you setup a printer in GPP and logon it applies succesfully, logoff and logon again I get a 4098 event id logged. The user '06laser01' preference item in the 'Deploy Printers - Student {6BC157D0-1397-4B1D-AC44-2CC54076EA24}' Group Policy object did not apply because it failed with error code '0x80070bc4 No printers were found.' This error was suppressed. If I delete all network printers on logoff and logon again I don't get that event id logged???? Ben
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now