Connect to printer from CNAME alias fails
|
|
Connect to printer from CNAME alias fails
Hi, I have moved the print server from a dedicated machine to a VM in Hyper-V.I added a CNAME for the old print server to point to the VM. When I connect to the printer using the CNAME, I get this error: Windows cannot connect to the printer. Make sure that you have typed the name correctly, and that the printer is connected to network. If I connect using the actual VM name, it succeeds. The client and the VM print server is part of the same domain.Server is W2K8R2.I tested with a Vista SP2 client and a Win7 client, same error. How do I configure the print server or DNS to work with a server name of my choice, and not the actual VM server name? RegardsP. |
|
|
|
|
|
|
|
|
|
There's a spooler registry key that needs to be added.
Enable CNAMEs on ‘print servers’ If you can ‘ping’ the print server and authenticate, but the server still fails it is likely you need to enable this setting on the server for CNAMEs to work on ‘print servers’. reg add HKLM\SYSTEM\CurrentControlSet\Control\Print /v DnsOnWire /t REG_DWORD /d 1 |
|
|
|
|
|
|
|
|
|
try add dword value key disablestrictnamechecking with value of 1 on VM, and reboot VM. hklm\system\ccs\services\lanmanserver\parameters |
|
|
|
|
|
|
|
|
|
I added the reg key.Unfortunately it makes no difference. I still cannot connect to a printer on a CNAME that points to a W2K8R2 server. Connecting to file shares works without the registry key.It seems like such an obvious thing to be able to use CNAME's for print server consolidation. Any other ideas? P. |
|
|
|
|
|
|
|
|
|
I am having the exact same problem in 2008 R2. I added the reg key( disablestrictnamechecking with value of 1) which allowed me to browse the printers using the cname \\printserver1. When I try to add the printer I get an error saying make sure you typed the name correctly, and that the printer is connected to the network .
When I browse to the server using the server name I can add the printer to the client workstation. When I browse using the CNAME I can see all of the printers just fine but it errors when i try to add them to the client workstation.
What changed with 2008 R2? CNAME printing with the disablestrictnamechecking with value of 1 worked perfectly in 2003 to 2008 server.
Any help would be appreciated as I need to migrate my print server in a few weeks.
Andy |
|
|
|
|
|
|
|
|
|
Hi Same problem for me, also in this thread... http://social.technet.microsoft.com/Forums/en-US/winserverprint/thread/e3bf391d-df87-4400-92c4-fda464419638 and still no solution |
|
|
|
|
|
|
|
|
|
There's a spooler registry key that needs to be added.
Enable CNAMEs on ‘print servers’ If you can ‘ping’ the print server and authenticate, but the server still fails it is likely you need to enable this setting on the server for CNAMEs to work on ‘print servers’. reg add HKLM\SYSTEM\CurrentControlSet\Control\Print /v DnsOnWire /t REG_DWORD /d 1 |
|
|
|
|
|
|
|
|
|
That worked, thank you. It would have been nice if this was:1) The default behavior2) Documented P. |
|
|
|
|
|
|
|
|
|
The knowledge base article is in progress, I'll post the link when it becomes public.
The spooler gains huge performance by not hitting the DNS server which is why it is not the default.
|
|
|
|
|
|
|
|
|
|
Hi Alan, thank you for the update. I don't understand why a CNAME vs. an A record would have a huge spooler performance impact.Can you please elaborate? P.
|
|
|
|
|
|
|
|
|
|
I have a similar situation but the spooler registry key has not solved my problem. My setup is as follows:
I have two baremetal servers running Windows Server 2008 R2 with hostnames Corporate01 and Corporate02, and IP addresses 192.168.0.33 and 192.168.0.34 respectively. A secondary IP address (192.168.0.1) is assigned to whichever server is active and a DNS A-record for hostname Corporate is assigned to this secondary IP address.
(When running Server 2003 R2, this allowed us to manually fail over by reassigning the secondary 192.168.0.1 IP address.)
I've added the HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\ DisableStrictNameChecking=0x00000001 registry value which has allowed clients (Windows XP and Windows 7) to access file shares via the Corporate hostname. With Windows Server 2003, this also allowed clients to connect to shared printers via the Corporate hostname. As we've experienced in this thread, this is not the case with 2008 R2.
I've added the HKLM\SYSTEM\CurrentControlSet\Control\Print DnsOnWire=0x00000001 registry value but this has not solved the problem for me. When clients attempt to connect via the Corporate hostname, I get the Double check the printer name and make sure that the printer is connected to the network error. Any ideas? |
|
|
|
|
|
|
|
|
|
| I'm assuming you added this registry on the servers. |
|
|
|
|
|
|
|
|
|
Hello Alan,
Thank you for your prompt response! Yes, I added these registry values to the servers. I also tried using setspn.exe as described in this article: http://support.microsoft.com/default.aspx/kb/870911. I should perhaps also mention that I am not using WINS on my new installation. Additionally, the default DNS configuration did not include a reverse lookup zone. Any issues with these points?
Have the server devs broken this functionality intentionally? If there is a reliable way to connect to printers via an alternate hostname, some documentation would be nice. I've been scouring the 'net for a day and a half on this issue.
Regards, L. |
|
|
|
|
|
|
|
|
|
I have no experience with lookup zones. The registry value on the server tells the spooler service on the server to hit the network if the name requested by the client does not match the machine name (or names when the machine hosts a clustered spooler resource). Without the reg key. the client makes an enum or open printer call on \\machine\printer and the local spooler returns not me which bubbles up to the error you quoted.
I would stop and start the print spooler service on the server if you have not performed that task.
The print server has to be able to perform the name lookup on the DNS server. I'm assuming the DNS server for the print server is the same as that for the clients.
This was an intentional performance change in the print spooler, the Server team is a totally separate group.
From the client, when you execute
net view \\Corporate
are the print shares listed? I'm out tomorrow but back on Thursday so be patient.
I forwarded your request for documentation to the future authors of this information. There's a process for this stuff |
|
|
|
|
|
|
|
|
|
My symptoms sound like what you're describing, but the solution doesn't seem to work for me. I've restarted the entire server several times (not yet in production). The DNS server is running on the same machine as the print server and it's pointed at itself.
The print shares are listed when executing `net view \\Corporate`. The printers are a Xerox WorkCenter 7335, a Xerox Phaser 4510, and a Minolta Magicolor 7300. (Not sure if that makes any difference.)
When I attempt to connect to a printer via the \\Corporate hostname, the DNS server debug log shows a successful query from the server to itself for the corporate.localdomain fqdn.
I just discovered something else: if I attempt to connect via the server's ip address (eg. `\\192.168.0.34\MinoltaC`), I get the same error. (This is the actual ip address, not the secondary one.) Do I have a different problem than we thought? |
|
|
|
|
|
|
|