The typical strategy for publishing printers into Active Directory (AD) is to tick the box in the printer properties to "List in the directory". That will cause the Print Spooler service to publish the printer, under the machine's security context, to the AD (as a child object of the machine itself). If you want, you can move the printer object once it has been created in this manner.
I'd try the "List in the directory" box first. If it doesn't function that way you will, at least, get some Event Log messages indicating a better root cause for the failure to publish the printer (in the " Microsoft-Windows-PrintService/Admin" log, logged by source "Microsoft-Windows-PrintService").
I have seen problems like this when moving from win2003 server to win2008 and 2012.
The problem is the print driver, and the new "easy print" system in windows. Some print drivers do not work with easy print.
I should mention that the best solution is to use a "generic" print driver (under mfger "Microsoft") if that can be made to work with your printer.
If you do choose to disable EasyPrint, you will need to install the exact same version of the driver for the printer on the server and on the client. With EasyPrint disabled, RDP printer redirection will try to create a print queue on the server by matching the print driver name for the printer on the client with a printer driver on the server. If the names match exactly, it will create a print queue on the server for the client printer, using that driver.
This kb has the known story (discusses win2008, but also applies to win2012):
http://www.shiprush.com/knowledge_bases/shiprush/srxa-0464.txt
Problem: Nothing prints when using Remote Desktop & local Zebra printer
Scenario:
If ShipRush is running on Windows 2008 or Windows 7, and both:
1) Is accessed via remote desktop
and
2) The Zebra printer is attached locally
labels do not print.
Discussion:
This is a known problem with the Microsoft "Easy Print" system. Easy Print
is used automatically to handle printing when the host system is
Windows 7 or Windows 2008.
Solution:
Use the Group Policy Editor to disable Easy Print:
1) Log out of the remote desktop session
2) On the host. As administrator run gpedit.msc
3) Navigate to:
Computer Configuration | Administrative templates |
Windows Components | Remote Desktop Services |
Remote Desktop Session Host | Printer Redirection
4) Locate the setting: "Use Remote Desktop Easy Print printer driver first"
5) Typically, this setting is "Not Configured"
6) Change this setting to: "Disabled"
Test:
Start a new remote desktop session. Printing to the Zebra printer
should now work.
Best Answer
To set default printer for users logging on workstations or servers, you can use the following:
n.2 works in case of a stand-alone server too (without AD domain)
In case SYSTEM user you could use the same logon script. Just run it from SYSTEM account (e.g. via Task Manager or custom service).
Here is how you add default printer via VBScript:
Save this to *.vbs file and run using cscript.exe scriptfile.vbs
Note: There are tons of samples on the web for adding printers using other scripting languages, if you prefer PowerShell or JScript