Контакти

 Telegram: Magnumv44

 Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

 GitHub

 Instagram

Помилка при перезапуску служби диспетчера друку

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

Так як раніше я працював системним адміністратором, а зараз я працюю програмістом, я спочатку зроблю постановку задачі з коротким описом проблеми.

Опис проблеми:

До наших енікейщиків надійшла заявка, мовляв принтер на одному з комп’ютерів періодично перестає друкувати. А потім магічним чином, через деякий час, знову починає працювати.

На підприємстві де я зараз працюю, іноді так трапляється, що з невідомих причин щось перестає працювати. А що трапляється найчастіше? Так «в мене не друкує принтер», або «не вмикається комп’ютер»! От же, будемо розбиратись з нашим випадком!

Примітка: Відразу зазначу, що права адміністратора нам знадобляться! Але, лише один раз.

Так трапляється, що служба «Диспетчер друку» перестає працювати, і для того щоб можна було й далі друкувати документи на принтері, потрібно або перезавантажити комп’ютера, або ж перезапустити службу «Spooler» (вона ж «Диспетчер друку»).

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

Програміст звісно ж завжди працює з правами адміністратора, але річ не в тім.

А якщо ускладнити проблему відсутністю нормального «Active Directory», та ще й без «Group Policy Object». То все стає досить сумно. Бо саме на ці граблі мені тут довелось наступити!

Так адмін на підприємстві є, але нажаль зараз дуже сильно хворіє, а виконувати його обов’язки, зобов’язали одного з енікейщиків, що найдовше працює на підприємстві.

Як я зазначив вище, раніше я працював системним адміністратором, і на теперішньому місці роботи, з багатьох причин, іноді доводиться допомагати як користувачам так і енікещикам з різними проблемами.

За замовчуванням служба «Диспетчер друку» перезапускається двічі, а потім потребує перезапуску ПК, або допомоги адміна.

Параметри перезапуску Диспетчера друку

Звісно можна встановити пункт «Подальші збої» теж в опцію «Перезапуск служби», але бувають винятки, коли це не допомагає. Саме це й трапилось.

Тому якщо спробувати перезапустити службу з правами користувача, то побачимо повідомлення про відсутність прав. Наприклад в консолі це виглядає так:

В доступі до перезапуску служби диспетчера друку відмовлено

Постановка задачі:

Потрібно надати можливість перезапускати службу «Диспетчера друку» без надання адміністративних прав користувачу.

Швидкий фікс на цей випадок є! Тут нам в пригоді стає вбудований системний інструмент «Service controller». То ж притупимо!

Запускаємо консоль від імені адміністратора, й перш за все перевіряємо себе, чи не робив хто, потрібні нам маніпуляції до нас, бо інакше, цей спосіб нам не підійде. В вікні консолі вводимо команду:

sc sdshow spooler

В відповідь на неї ми повинні будемо побачити щось на зразок цього:

D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)

Перевірка параметрів на перезапуск служби диспетчера друку

До цього рядка нам необхідно додати дозвіл на маніпуляції з цією службо для всіх користувачів:

(A;;0x30;;;WD)

Задавати необхідні параметри можна за допомогою команди:

sc sdset spooler (Тут наша команда)

В кінцевому результаті вона повинна буде мати вигляд:

sc sdset spooler D:(A;;0x30;;;WD)(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Після її виконання, ще раз виконайте команду «sc sdshow spooler», щоб переконатись, що необхідний параметр було додано.

Параметри перезапуску служби диспетчера друку успішно змінено

На цьому маніпуляції завершуються. І все що нам потрібно це дати користувачу bat файл з командами:

net stop spooler
net start spooler

Також можна спробувати зробити автоматичний запуск цього bat файлу встановивши параметр пункту «Наступні збої» в режим запуску певної програми, в ролі якої буде наш bat файл.

Встановлення автоматичного запуску bat файлу для перезапуску служби

Теоретично, це повинно позбавити користувача від потреби самостійно запускати bat файл, якщо ним буде помічено проблему з друком файлів.

Але як вони так роблять, що в них на пустому місці щось перестає працювати, я й досі не маю уявлення =)

Корисні посилання: