Привет, Хабр. Меня зовут Александр, и с недавнего времени я работаю системным администратором в «Петрович-Тех». Не так просто поделиться локальной проблемой, когда регулярно читаешь лонгриды о каких-то масштабных продуктах, в том числе и разделе «системное администрирование» на Хабре.
Но потом я подумал: «А какая у меня цель?». Очень простая. Помочь коллегам, которые, возможно, столкнулись с аналогичной проблемой и не смогли её победить. Да и сама мысль о заметке появилась после того, как я сам не нашёл в интернете решение. Может, просто плохо искал 🙂
Системное администрирование мне нравится тем, что во многих случаях часто на одну проблему бывает несколько решений. Но не все из них подходят по другим критериям. Расскажу о решении, которое подогнал под решение задачи для нашего случая.
Анамнез
У нас есть МФУ Kyocera, которое подключено по сети или локально по USB. И однажды коллега попросила установить ей на компьютер программу для сканирования.
Казалось бы, простая задача. Скачиваем приложение Kyocera QiuckScan, устанавливаем, запускаем, проверяем. Вот как раз на этапе проверки возникли сложности. Программа упорнно не видела сканер из-под пользователя.
При этом от доменной учётной записи с правами администратора всё работало как нужно. В такой ситуации на ум пришли несколько возможных решений:
Научить коллегу пользоваться МФУ и сканировать через адресную книгу;
Найти другую программу для сканирования;
Запускать программу через скрипт или батник из-под учётной записи с правами администратора
Найти суть проблемы
Вариант с запуском из-под админской учётки отпал первым делом, хотя в интернете мне чаще всего встречался именно этот «костыль». С одной стороны безопасность, с другой — слишком утомительно настраивать каждое МФУ, когда их, например, больше двадцати.
Другой софт без проблем увидел сканер, но качество сканирования оказалось ниже, чем у родного QuickScan. К слову, я рассматривал альтернативу только из бесплатных решений.
Можно было научить коллегу сканировать другим способом, но проблема рано или поздно всё равно бы вернулась. Потому я решил выяснить, в чём же главная проблема. Вообще как по мне системный администратор должен быть дотошным.
Диагностика
Первым делом я подумал про нехватку прав, но в процессе диагностики проблема оказалась проще. Здесь на помощь пришёл лог установки программы. По информации из него я понял, что инсталлятор программы у Kyocera сделан, как по мне, не совсем корректно.
Конфигурационные файлы инсталлятор копирует в профиль того пользователя, который его и запускал. Соответственно, в профиле пользователя их и не хватало.
Решение
Оставалось лишь скопировать из %appdata% (C:\Users\username\AppData\Roaming) папку Kyocera в такую же папку, но в профиль пользователя. После этого в большинстве случаев всё начинает работать.
В отдельных случаях нужно дать права пользователю папку С:\ProgramData\Kyocera\Quick Scan\TempData, так как QiuckScan во время сканирования создаёт там временный файл, а уже потом готовый перемещает в указанную папку.
Результат
В результате пользователь доволен, что всё заработало. А я доволен, что нашёл проблему и решил её без костылей. Вывод простой: такие кейсы каждый раз напоминают о том, что лучше один раз вылечить болезнь, чем потом всё время бороться с её симптомами :)