Problem
- "nicht verfügbar" im ThinPrint Self Service
- mehrere Drucker mit demselben Namen (Netzwerkdruckerfreigaben sowie lokale Drucker)
- Standarddrucker kann nicht festgelegt werden (jeder Fehler)
- Standarddrucker wird angezeigt, existiert aber nicht wirklich, wenn Sie ihn aus der Anwendung beim Drucken auswählen möchten
- Drucker können nicht aus der alten Druckeransicht, sondern nur aus "Geräte & Drucker" gelöscht werden
- Drucker werden in "Geräte & Drucker" als "unbekanntes Gerät" angezeigt.
Ursache
Dieses Phänomen ist als "Ghostprinter" bekannt. Das Problem wird durch Windows-bezogene Prozesse verursacht. Unsere Annahme ist, dass der Druckwarteschlangendienst nicht korrekt funktioniert, und das wurde auch in unseren Tests bestätigt. Dies ist ein großes Problem für uns, weil wir uns auf die Windows-API (Anwendungsprogrammierschnittstelle) verlassen und uns auf die gegebenen Daten verlassen, die leider inkorrekt sind. Wenn wir also über die API nach einer Liste der verbundenen Druckerfreigaben fragen, könnte sie nur einige davon zurückgeben und unnötige Druckererstellungsversuche verursachen.
Betrifft das Produkt
ThinPrint Engine 10+ on Win2012+
Lösung
Bereinigung
1. On the Terminal Servers set the computer policy "Always render print jobs on the server" to -enabled-
Policy Path: Computer Configuration -> Policies -> Administrative Templates -> Printers
2. Create the registry value "RemovePrintersAtLogoff" (DWORD) and set it to "0".
Registry Path: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider]
Create value via Powershell
$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider" New-ItemProperty -path $RegPath -name "RemovePrintersAtLogoff" -PropertyType DWORD -Value 0 -force | Out-Null |
3. Delete all Client-Side-Rendering (CSR) sub keys on the Terminal Servers under:
Registry Path: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider]
Delete Content via Powershell
$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider" (Get-ChildItem $RegPath).PsPath | Remove-Item -Recurse |
4. Create the registry value "EnumprintersMode" (DWORD) and set it to "1".
Registry Path: [HKEY_LOCAL_MACHINE\SOFTWARE\ThinPrint\TPAutoConnect]
Create value via Powershell
$RegPath = "HKLM:\SOFTWARE\ThinPrint\TPAutoConnect" New-ItemProperty -path $RegPath -name "EnumprintersMode" -PropertyType DWORD -Value 1 -force | Out-Null |
5. Restart the server.