Есть ли скрипт, чтобы проверить существующее имя принтера и переименовать его? - PullRequest
0 голосов
/ 11 марта 2019

Как уже упоминалось в заголовке, мне нужно изменить имя принтера на стороне клиента и унифицировать его имя.

Например, на многих рабочих станциях установлен один и тот же принтер с разными именами.Итак, есть ли сценарий, который я могу использовать, чтобы изменить имя, проверив существующее имя?

(e.g. : HP_printer_4300_ABC, HP_4300_ABC and 4300_printer_ABC to change to ABC )

1 Ответ

0 голосов
/ 11 марта 2019

Вы можете запрашивать и изменять имена своих принтеров, используя 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, когда будете готовы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...