Я работаю в компании, которая имеет около 3000 компьютеров и около 1500 принтеров. В настоящее время метод установки принтера довольно ручной, и мы собираемся автоматизировать этот процесс. На этот вопрос распространяются определенные ограничения:
- Должен работать на Windows 7 и Windows 10
- Решение не может быть сервером печати
Кроме того, у меня есть несколько личных предпочтений относительно решения:
- Желательно не требует административных прав на ПК
- Предпочтительно можно управлять удаленно, т.е. изменение модели принтера может быть воспроизведено для всех пользователей в домене.
- Желательно, чтобы было мало сценариев, так как мы планируем заставить конечных пользователей использовать этот инструмент.
Текущий процесс, который мы используем, состоит в том, чтобы выполнить следующую команду (или создать пакетный скрипт), но это определенно не является допустимым решением:
rundll32 printui.dll,PrintUIEntry /ia /m "Kyocera FS-4100DN KX" /f "\\share\xfer\PRTscript\_drivers\KXDriver\32bit\OEMsetup.inf"
Это неверное решение, так как:
- Мы не можем реплицировать изменения на клиентов (если мы не разместим «скрипт» на общем ресурсе
- Для установки принтеров требуются права администратора.
- Это ручная задача, и она не может отличить 32 от 64 бит (или, по крайней мере, она должна обслуживать оба)
Теперь я знаю, что мы можем использовать параметр групповой политики для развертывания принтеров, но это зависит от двух вещей:
- Подразделение предприятия (или, по крайней мере, группа безопасности) является правильным;
- Рассматриваемые ПК получают групповую политику (они должны)
И да, я знаю, что групповая политика соответствует всем моим требованиям и предпочтениям, но я просто хочу взглянуть на свои варианты, прежде чем мне нужно будет привести в порядок мое подразделение (и подразделение, группы безопасности и существующие политики) - в конечном итоге GPO будет мудрое решение, но я хочу краткосрочный инструмент, пока я работаю над этим.
Поэтому, возможно, я подумал, что мы могли бы использовать простой сценарий Visual Basic - но опять же, для этого требуется много ручного редактирования, и единственный способ автоматизировать это - развертывание через групповую политику:
Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\Server\Printer"
PrinterDriver = "PrinterDriver"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\Server\Printer"
Следующая теория, которую я могу исключить, состоит в том, чтобы использовать PrintBRM