Привет, Хабр. Меня зовут Александр, и с недавнего времени я работаю системным администратором в «Петрович-Тех». Не так просто поделиться локальной проблемой, когда регулярно читаешь лонгриды о каких-то масштабных продуктах, в том числе и разделе «системное администрирование» на Хабре.

Но потом я подумал: «А какая у меня цель?». Очень простая. Помочь коллегам, которые, возможно, столкнулись с аналогичной проблемой и не смогли её победить. Да и сама мысль о заметке появилась после того, как я сам не нашёл в интернете решение. Может, просто плохо искал ?

Системное администрирование мне нравится тем, что во многих случаях часто на одну проблему бывает несколько решений. Но не все из них подходят по другим критериям. Расскажу о решении, которое подогнал под решение задачи для нашего случая.

Анамнез

У нас есть МФУ Kyocera, которое подключено по сети или локально по USB. И однажды коллега попросила установить ей на компьютер программу для сканирования.

Казалось бы, простая задача. Скачиваем приложение Kyocera QiuckScan, устанавливаем, запускаем, проверяем. Вот как раз на этапе проверки возникли сложности. Программа упорнно не видела сканер из-под пользователя.

При этом от доменной учётной записи с правами администратора всё работало как нужно. В такой ситуации на ум пришли несколько возможных решений:

  • Научить коллегу пользоваться МФУ и сканировать через адресную книгу;

  • Найти другую программу для сканирования;

  • Запускать программу через скрипт или батник из-под учётной записи с правами администратора

  • Найти суть проблемы

Вариант с запуском из-под админской учётки отпал первым делом, хотя в интернете мне чаще всего встречался именно этот «костыль». С одной стороны безопасность, с другой — слишком утомительно настраивать каждое МФУ, когда их, например, больше двадцати.

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

Можно было научить коллегу сканировать другим способом, но проблема рано или поздно всё равно бы вернулась. Потому я решил выяснить, в чём же главная проблема. Вообще как по мне системный администратор должен быть дотошным.

Диагностика

Первым делом я подумал про нехватку прав, но в процессе диагностики проблема оказалась проще. Здесь на помощь пришёл лог установки программы. По информации из него я понял, что инсталлятор программы у Kyocera сделан, как по мне, не совсем корректно.

Конфигурационные файлы инсталлятор копирует в профиль того пользователя, который его и запускал. Соответственно, в профиле пользователя их и не хватало.

Решение

Оставалось лишь скопировать из %appdata% (C:\Users\username\AppData\Roaming) папку Kyocera в такую же папку, но в профиль пользователя. После этого в большинстве случаев всё начинает работать.

В отдельных случаях нужно дать права пользователю папку С:\ProgramData\Kyocera\Quick Scan\TempData, так как QiuckScan во время сканирования создаёт там временный файл, а уже потом готовый перемещает в указанную папку.

Результат

В результате пользователь доволен, что всё заработало. А я доволен, что нашёл проблему и решил её без костылей. Вывод простой: такие кейсы каждый раз напоминают о том, что лучше один раз вылечить болезнь, чем потом всё время бороться с её симптомами :)

Комментарии (9)


  1. GypsyBand
    01.08.2024 11:52
    +5

    1. Сетевая куасёра нормально сканит в сетевую шару, пользователю тока ярлык на стол сделать.

    2. Пользователю так и так нужно подойти к сканеру положить бумагу на сканер, там же и кнопку свою для сканирования сразу нажмёт. а по вашей схеме нужно подойти к сканеру положить бумагу на сканер, пойти до компа нажать кнопку сканирования и потом снова пойти к сканеру.


    1. novburn Автор
      01.08.2024 11:52
      +2

      Вы правы, в 99% случаях так и есть. Но бывает, когда пользователю привычнее и удобнее использовать программу. Или он вообще сидит на условном складе, а МФУ подключен по USB.

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


    1. miarh
      01.08.2024 11:52

      Иногда нужно менять параметры сканирования (яркость, контраст, формат файла, разрешение и т. д) - многим привычнее это делать из программы


  1. Pochemuk
    01.08.2024 11:52
    +2

    А если временно дать пользователю админские права, установить прогу от его имени, вернуть права взад - это не поможет?


    1. novburn Автор
      01.08.2024 11:52

      Теоретически должно помочь, но я не проверял. Тем более сколько действий, выдать права, забрать права, перелогиниться пару раз. Проще папку скопировать :)


      1. asatost
        01.08.2024 11:52
        +1

        перелогиниться пару раз

        Не обязательно.

        Закидываем текущего пользователя в группу локальных админов любым удобным для Вас способом.

        Тыкаем правой кнопкой, запустить от имени администратора, появится окно, требующее пароля пользователя с админскими правами.

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

        Вводим логин и пароль текущего пользователя, выполняем установку.

        Выкидываем текущего пользователя из группы локальных админов.


    1. alkoro
      01.08.2024 11:52
      +1

      Поможет. Я джва много лет ждал этой статьи. Но всё это (права на Programdata\kyocera и ту, что в профиле пользователя-установщика) я тоже прошёл в своё время. Теперь всегда даю заранее адм. права пользователю на время установки софта. Есть неприятный ньюанс - если захотите поработать другим пользователем с уже установленым софтом - будет то же самое, придётся либо переустанавливать, либо всё-таки давать права на папку C:\Users\username\AppData\Roaming\Kyocera новому пользователю.


      1. novburn Автор
        01.08.2024 11:52

        Пока на ум приходит только через GPO решить, но всё зависит исключительно от ситуации.


  1. cahbeua
    01.08.2024 11:52
    +1

    Вы считаете копирование папки из апдаты админа в апдату пользователя это не косыталь, без которых вы так умело обошлись?

    Ну вот вам задачка со звёздочкой - установите пользователю на РДП ферме с прицепными профилями вайбер. Там тоже работает ваше безкостыльное ноухау, однако до поры до времени, затем на одном из серваков без админа он уже не стартует.

    Думаю куда интереснее узнать способ диагностики какая тварь лезет за правами админа при инсталляции или запуске того или иного екзешника.