У меня есть автоматический скрипт для удаления копий с принтера. Который выглядит так:
wmic printer where (name like '%%(copy %%') delete
Скрипт выполняет свою работу, но оставляет «тени». У меня есть программа, которая показывает даже автономные принтеры в списке, но не показывает те, которые были удалены с помощью WMIC, но они не удаляются из списка принтеров.
Вот немного больше деталей. Ежедневно я тестирую около 10-15 принтеров (иногда даже больше), найти нужный принтер в списке становится немного неудобно. Я использую скрипт - он очищает список, но оставляет экземпляр в списке принтеров. И даже если я, например, подключу принтер, который раньше был моделью 1 (копия 7), он станет моделью 1 (копия 1). Модель 1 (копия 7) все еще будет в списке.
Скрипт удаляет только принтеры с копиями, модель 1 неприкасаема, поэтому она становится моделью 1 (копия 1).
И, как вы можете видеть, все принтеры, удаленные с помощью WMIC, имеют драйвер, недоступный под ними, как показано на рисунке ниже.
На рисунке подключен верхний принтер, второй принтер в списке, который использовался для подключения принтера до использования WMIC.
Мой вопрос Что может препятствовать полному удалению экземпляров? Когда я запускаю скрипт, он говорит, что принтеры успешно удалены. Обратите внимание, что это только эстетическая проблема, она не вызывает проблем, дубликатов или проблем с драйверами для любых принтеров, подключенных после.
Я запускаю сценарий, только когда все принтеры отключены и очередь печати очищена