Windows 10 2004 printer displaying issue

Jannik Jäger 66 Reputation points
2020-10-06T06:45:30.213+00:00

Hello everybody,

we have some problems with displaying printers on Windows 10 Enterprise 2004 (Build 19041.508).

The printers are not displayed with the host name in the control panel. Instead, there is the model name of the respective printer. These display problems are also present in the Windows settings. If you choose one of the printers as default, the hostname appears in the control panel. If it is no longer a standard, it loses the host name again.

In addition, it takes more than 10 minutes to install a printer. Additional printers pending for installation will extend this time.

If you use a program such as Microsoft Word, all printers are correctly displayed with their hostnames in the printing area, even though the installation / setup of the printer in the control panel has not been fully completed yet.

Is there a known problem with the current Windows version? Is it related to drivers or driver versions?

I hope someone can help / support us with the problem.

Best regards

Windows 10 Compatibility
Windows 10 Compatibility
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Compatibility: The extent to which hardware or software adheres to an accepted standard.
457 questions
{count} votes

32 answers

Sort by: Most helpful
  1. Jannik Jäger 66 Reputation points
    2021-02-10T08:47:54.343+00:00

    Hello @ all,

    microsoft now told us that they found a bug in windows (thanks for that information...).

    There will be a fix but they couldn't tell us a date when it's available.

    In registry there is the path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM under that key there are subkeys with the IDs of all installed printers. Every single ID has the property named "ConfigFlags". When changing its value to "0" (hexadecimal) it should use the hostname for displaying. In this bug the value is "400" (hexadecimal) and it uses the name of the driver.

    So we have to wait for the fix because we can't change every single entry manually. It's impossible to change it with GPO for so much devices and printers caused by the IDs.

    Now the problem is known. We will hope that there is a fix soon.

    Best regards

    3 people found this answer helpful.

  2. Eddy Mazzero 6 Reputation points
    2020-10-26T08:12:38.627+00:00

    I have solved with windows 10 20H2

    1 person found this answer helpful.
    0 comments No comments

  3. Christian Aagaard Nielsen 6 Reputation points
    2020-11-23T14:00:43.533+00:00

    We have had the same issue on computers running Windows 10 2004, with a couple of different ricoh printers. We tried to use the Ricoh PS Universal Driver, instead of the PCL version, and it seems to solve the issue.

    1 person found this answer helpful.

  4. Brian 6 Reputation points
    2021-04-09T22:06:08.913+00:00

    Running 20h2 and having the same issue plus another

    When using Type 3 drivers on our HPs the names are not displayed correctly in either control panel however when you go to print they are displayed correctly.

    Using Type 4 drivers causes an Error page to print at the end of every job. IllegalTag Line Number 1933

    1 person found this answer helpful.
    0 comments No comments

  5. Brian Leschber 6 Reputation points
    2021-10-14T01:41:08.92+00:00

    I've come up with a way to implement the workaround via 2 additional group polices that may help everyone here until MS deals with it.

    First Group Policy

    Create a policy for executing an Immediate Scheduled Task (Computer -> Preferences -> Control Panel Settings -> Scheduled Tasks -> Immediate Task) for the purposes of running this single line PowerShell script

    Key elements to configure in the immediate task (General Tab) are: 1) set "When running the task, use the following user account" to NT AUTHORITY\System, 2) check the box for "Run with highest privileges", 3) change the "Configure for" drop down to Windows(R) 7, Windows Server(TM) 2008R2.

    Key elements to configure in the immediate task (Action Tab) are: 1) action should be "Start a program", 2) "Program/script" should be C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe, 3) "Add arguments(optional)" should be -ExecutionPolicy Bypass -command "Get-ChildItem -path:'HKLM:\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM' | ForEach-Object {$regkey = (Get-ItemProperty $_.PSPath); Set-ItemProperty -Path $regkey.PSPath -Name ConfigFlags -Value 0}"

    Second Group Policy

    Create a policy for restarting the Print Spooler (Spooler) Windows service (Computer -> Preferences -> Services -> Spooler)

    The only thing that is required is to set the "Service action" to Restart service

    Policy Ordering Notes

    Make sure you set the execution order of the policies in the proper execution order by reordering the link order of the policies on the OU(s) they are applied on so that your printer deployment policies come first, the Immediate Scheduled Task policy comes second, and the spooler restart policy comes third.

    Other Notes

    In our environment we are also setting HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata\PreventDeviceMetadataFromNetwork = 1

    The PowerShell script is only useful once the registry keys exist, which only happens after the deployment/driver install is initiated (which is slow), so essentially you can either wait for multiple group policy check intervals to occur, or if you are on a new system (or are in a hurry) just simply keep launching gpupdate /force from a command prompt on the target system until all the printers show up as desired.

    With this workaround I was able to drop the deployment time of 5 network printers from a WS2016 print server on W10 20H2 clean load from 20+ minutes to under 5 min, and have all the printer name show up correctly. (All HP LJ printers and MFPs, all Type-3 drivers)

    I can also confirm that our enterprise did not experience any issues prior to W10 2004 (W10 1909 deployed printers almost instantly without any workarounds).

    Raw PowerShell Scripts

    Get-ChildItem -path:'HKLM:\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM' | ForEach-Object {$regkey = (Get-ItemProperty $_.PSPath); Get-ItemProperty -Path $regkey.PSPath -Name ConfigFlags}

    Get-ChildItem -path:'HKLM:\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM' | ForEach-Object {$regkey = (Get-ItemProperty $_.PSPath); Set-ItemProperty -Path $regkey.PSPath -Name ConfigFlags -Value 0}

    1 person found this answer helpful.