2

Несколько сетевых принтеров были удалены с сервера печати, и я хочу автоматически удалить их с помощью сценария (например, используя objPrinter.delete_ in vbs) из любого клиента, который все еще ссылается на них; желательно, чтобы я действительно знал, какие принтеры я удаляю в этих случаях, и автоматически подключал соответствующий принтер для замены. Это не было бы трудно, если бы я мог прочитать список таких несуществующих принтеров в первую очередь.

Ситуация в графическом интерфейсе состоит в том, что принтеры по-прежнему отображаются в разделе "Устройства и принтеры", причем на значке принтера отображается только значок принтера по умолчанию, он отображается серым цветом, а рядом с ним отображается желтый предупреждающий треугольник. Но принтер не получает перечисленное , например , с помощью запроса WMI SELECT * FROM Win32_Printer Есть ли другой запрос, который будет успешным для этого?

1 ответ1

3

Удалить сетевой принтер через командную строку и без графического интерфейса можно через обновление реестра.

Следующие два раздела реестра содержат определения установленных принтеров:

HKEY_CURRENT_USER\Printers\Connections
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\Printers

Вам нужно найти имена подразделов вышеупомянутых, которые содержат сетевые принтеры, которые вы хотите удалить. Как только вы узнаете их имена, это также станет методом проверки, установлен ли определенный принтер в данный момент. Удалите подразделы, затем перезагрузите компьютер, чтобы убедиться, что принтер остается удаленным.

Здесь есть некоторые важные моменты:

  1. Возможно, необходимо остановить службу диспетчера очереди печати.
  2. Очередь принтера должна быть пустой, находится в папке C:\Windows\System32\spool\PRINTERS\ . Вы не можете удалить принтер, если у вас есть элементы в очереди печати. См. Также статью Как принудительно очистить очередь печати в Windows .
  3. Способ удаления принтера с помощью графического интерфейса - запустить администратор printui /s /t2 , выбрать принтер, нажать кнопку "Удалить", выбрать "Удалить драйвер и пакет драйверов" и нажать "ОК".

Некоторые подробности можно найти в статье Исправление не удается удалить или удалить сетевой принтер в Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .