如标题中所述,我必须更改客户端打印机名称并统一它们的名称。
例如,有许多工作站以相同的名称安装了同一台打印机。因此,是否可以通过检查现有名称来使用任何脚本来更改名称?
(e.g. : HP_printer_4300_ABC, HP_4300_ABC and 4300_printer_ABC to change to ABC )
答案 0 :(得分:0)
您可以使用WMI查询和更改打印机名称
这是我刚刚编写的简单脚本,应该可以执行您想要的操作
strComputer = "." ' Local computer
strOldNameContains = "_ABC" ' The target printers to rename contains this string
strNewName = "ABC" ' New name for the printer
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery ("Select * From Win32_Printer ")
For Each objPrinter in colPrinters
' Uncomment this for debugging
'msgbox objPrinter.Name
if instr(objPrinter.Name,strOldNameContains)>0 then
msgbox "Changing printer name from '" & objPrinter.Name & "' to '" & strNewName & "'"
objPrinter.RenamePrinter(strNewName)
end if
Next
根据需要在顶部调整字符串,并在准备就绪时删除msgbox