所有 Windows 客户端计算机都使用带有 V4 驱动程序的网络打印机//服务器/打印机。服务器端的驱动程序当前版本为 V3。我想删除 V4 打印机并重新安装带有驱动程序 V3 的网络打印机。
如何检测是否使用了驱动程序版本 V4 并移除打印机?我需要在 bat 文件中实现此功能,但我可以从 bat 文件运行 PowerShell 命令。
答案1
答案2
我无法检测驱动程序是 V3 还是 V4,但我知道正确的驱动程序是例如 Xerox GPD PCL6 V5.733.11.0。如果驱动程序是其他的,我将删除并重新安装我的网络打印机。
for /f "tokens=*" %%i in ('powershell -c "Get-Printer -Name "\\%server%\%printerName%" | Select -ExpandProperty "DriverName""') do set "driver=%%i"
if not "%driver%"=="%correctDriver%" (
powershell -c "get-WmiObject -Class Win32_Printer | where{$_.ShareName -eq '%printerShareName%'} | remove-Printer"
TIMEOUT /T 3 /noBREAK >NUL
rundll32 printui.dll,PrintUIEntry /in /n \\%server%\%printerShareName%
)