Назад | Перейти на главную страницу

Очистите кеш драйвера печати в Windows 7 с помощью сценария powershell

[Задний план]

У нас возникли проблемы с нашими сетевыми клиентами, которые внезапно перестали печатать. Они получают странную ошибку с шестнадцатеричным кодом. Мы определили, что что-то в драйвере было испорчено, и можем решить проблему, очистив кеш драйвера и переустановив драйвер. Это время от времени случается со случайными компьютерами. Мы предполагаем, что это ошибка последней версии драйвера Dell 2330dn, поскольку это единственная модель, у которой есть такая проблема.

[Проблема]

Мы хотим написать сценарий Powershell, который очистит кеш драйвера и повторно загрузит драйвер. Я вижу множество скриптов для управления очередями, серверами и портами, но ничего для управления локальным кешем драйверов.

[Текущее решение]

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

  1. Отключить диспетчер очереди печати
  2. Перезагрузите машину
  3. Удалите содержимое: C: \ windows \ system32 \ spool \ drivers \ w32x86
  4. Включите диспетчер очереди печати и запустите службу.
  5. Удалите объект сетевого принтера и повторно добавьте сетевой принтер с сервера.

[Запрос]

Я достаточно хорошо разбираюсь в PowerShell, чтобы перевести описанный выше обходной путь в пару скриптов. Я хотел бы найти более элегантное решение, чем мой текущий обходной путь.

Какие-либо предложения?

Тот факт, что вы используете PowerShell, не означает, что вы не можете использовать старые добрые команды, такие как sc stop/start servicename, net use, и т.д.

Если вам действительно нужна перезагрузка системы, вам, вероятно, понадобятся два отдельных сценария.

В чем проблема с удалением содержимого каталога драйвера принтера? Или вы имели в виду что-то другое под "управлением файлами"?