我最近在 Windows 打印服务器上安装了最新的 PostScript HP 通用打印驱动程序,但结果发现该驱动程序存在错误。我将服务器虚拟机恢复到升级前拍摄的快照,因此服务器没有问题。一些 Windows 客户端 PC 在安装错误驱动程序的短暂时间内连接到服务器,然后下载并安装了有错误的版本。(我们已设置组策略来覆盖 Microsoft 为应对 PrintNightmare 而实施的限制,这就是它有效的原因。有一个打印服务器允许列表,允许客户端从中下载和安装打印机驱动程序。)
我们使用名称中没有版本的驱动程序(“HP Universal Printing PS”),因此现在客户端登录服务器,看到它们具有名称相同但版本号较新的驱动程序,并且不会从服务器下载较旧的工作版本。我们手动从客户端 PC 中删除驱动程序的努力没有成功。我们尝试从 PC 中删除所有 HP 打印机,然后从 PC 中删除驱动程序,但每次都显示驱动程序仍在使用中。我们尝试过(1)在 UI 中,(2)在 PowerShell 中,如下所示:
#Remove printers using the HP universal print driver.
Get-Printer | Where-Object -Property DriverName -EQ -Value 'HP Universal Printing PS' | Remove-Printer
#Remove the HP universal print driver
Remove-PrinterDriver -Name "HP Universal Printing PS" -PrinterEnvironment 'Windows x64' -RemoveFromDriverStore
...(3)在命令提示符下如下操作:
pnputil.exe /enum-drivers
rem Look through the output for the bad driver, and note its INF file for the next line.
pnputil.exe /delete-driver oemnnn.inf /uninstall /force /reboot
进一步的调查表明,如果每个在 PC 上有用户配置文件的用户都登录并删除使用该驱动程序的任何 HP 打印机,那么 Windows 可能不再坚持认为该驱动程序正在使用中。不过,这很难实现,我们不一定想直接删除用户配置文件。
一个复杂的因素是,我们使用组策略部署这些打印机,因此,每当我们重新启动后台处理程序服务或计算机时,所有打印机都会由组策略重新生成。我认识到我们可能需要禁用此行为来解决这个问题。
有什么方法可以让 Windows 客户端电脑将此驱动程序回滚到以前的版本,或者将其完全删除?我正在寻找/真正强制删除,无论后果如何开关或其等效物。