Wednesday, 15 August 2007
Carrying on from yesterday where I talked about migrating the print server into a virtual image I am happy to report that the print queues are all working and in use. I had to remember to add Print Services for UNIX so the LPD printers on the AIX box would connect but that was only a few minutes work. I also had to remember to set the sharenames and the LPR queue name to match the AIX names.
I also removed all extraneous software from the old print server including HP Web Jetadmin and Sonicwall Viewpoint. As soon as the user printers are repointed on the terminal services machines then the old print server will be ready to switch off – hopefully a job for tomorrow.
One thing that I need to investigate is how to remove assigned printers upon login to terminal services (via a login script presumably in much the same way as shared drives are removed then allocated) in order to reassign new printers. That is unless there is a way to use permissions to control what printers appear in a users account. This would be an ideal way to go so I need to head off to Google and Technet to see what I can find.
My previous post on virtualisation: Slamming down the Virtualisation Gauntlet.
Related
- Unable to obtain Terminal Server User Configuration. Error: The RPC server is unavailable.
- Domain Controller Decommission
- Re-Engineering the Network
- Slamming down the Virtualisation Gauntlet
- Excel Print Comments



I’ve found an interesting article by Mitch Tulloch aptly named Deploying Printers With Group Policy in Windows Server 2003 R2 which is available at this link http://www.windowsnetworking.com/articles_tutorials/Deploying-Printers-Group-Policy-Windows-R2.html
Hiya chap, you can also use VBSCRIPT to disconnect all printers mapped when the roaming profile loads and then remap then.
We have found in our Citrix environment after using PrintMig (which you have found) due to the way in which the Roaming user hive works under TS you can either get duplicate printers – or – the old mappings are maintained, therefore disconnecting them and then reconnecting them works a treat.
Cheers
Thanks for the tip Andy, I’ve found some code at the following URL that describes how to do what you are suggesting.
http://www.tek-tips.com/faqs.cfm?fid=5798
Basically, the lines of code in particular are:
‘Remove ALL old printers
‘Enumerate all printers first, after that you can select the printers you want by performing some string checks
Set WSHPrinters = WSHNetwork.EnumPrinterConnections
For LOOP_COUNTER = 0 To WSHPrinters.Count – 1 Step 2
‘To remove only networked printers use this If Statement
If Left(WSHPrinters.Item(LOOP_COUNTER +1),2) = “\\” Then
WSHNetwork.RemovePrinterConnection WSHPrinters.Item(LOOP_COUNTER +1),True,True
End If
‘To remove all printers incuding LOCAL printers use this statement and comment out the If Statement above
‘WSHNetwork.RemovePrinterConnection WSHPrinters.Item(LOOP_COUNTER +1),True,True
Next
‘Remove a specific printer
WSHNetwork.RemovePrinterConnection “\\ServerOld\HP5si”,True,True
‘Install A Printer
WSHNetwork.AddWindowsPrinterConnection “\\Server\HP5si”
The code is from Mark D. MacLachlan, The Spider’s Parlor
http://www.thespidersparlor.com