Дата релиза & версия:
Модель:
Совместимость:
Производитель:
Разрядность:
Размер:
Внимание! Перед установкой драйвера рекомендуется удалить его старую версию. Удаление драйвера особенно важно при замене оборудования или перед установкой новых версий драйверов видеокарты.

5. В следующем окне заполните поля (картинка 2):

Имя — произвольное название, например, модель вашего аппарата

Модель — необходимо выбрать из выпадающего списка вашу модель Kyocera. При этом, если Вы используете USB подключение, необходимо выбирать модель именно с USB в названии

Адрес сканера — пропишите IP-адрес Вашего МФУ. Если используется USB подключение, то поле остаётся пустым (или неактивным)

По завершении нажмите кнопку OK внизу окна.

6. Ваш аппарат должен появиться в списке установленных сканеров (картинка 3). После этого нажмине кнопку Закрыть.

Для сканирования Ваших документов используйте приложения поддерживающие функцию сканирования через TWAIN, например: Adobe Photoshop, Corel Paint Shop Pro и т.п. или же можно воспользоваться бесплатной программой Paperscanfree.

Приятного сканирования!

!! Если Вам необходимо настроить сетевое сканирование в общую папку, на почту или на FTP сервер, подробную инструкцию можно прочитать по этой ссылке.

«`html

Скачать драйвер сканера:

  1. Перейдите на официальный сайт Kyocera в раздел «Центр поддержки».
  2. Выберите вашу модель МФУ из списка.
  3. Найдите ссылку на TWAIN scanner driver для вашей операционной системы и скачайте его.

Скачать с файлообменника FILE-MIX

Драйвер Twain для свежих моделей Kyocera (TWAINScannerDriver_v2.0.8106)
Драйвер ScannerDrv_2.0.3x_ECOSYS_M2x3xdn_6x26cdn_cidn_TA266ci
Программа для сканирования Kyocera Quick Scan v 1
Программа для сканирования Kyocera Quick Scan v2.1.0608

Скачать с файлообменника TurboBIT

Драйвер Twain для старых моделей Kyocera (Kyocera TWAIN Driver)
Драйвер Twain для свежих моделей Kyocera (TWAINScannerDriver_v2.0.8106)
Драйвер ScannerDrv_2.0.3x_ECOSYS_M2x3xdn_6x26cdn_cidn_TA266ci
Программа для сканирования Kyocera Quick Scan v 1
Программа для сканирования Kyocera Quick Scan v2.1.0608

Распаковать и установить драйвер:

  1. После скачивания, распакуйте скачанный архив.
  2. Запустите файл `setup.exe`.
  3. Следуйте инструкциям мастера установки.

Запустить программу Kyocera TWAIN Driver:

  1. После установки, запустите программу `Kyocera TWAIN Driver`.
  2. В открывшемся окне нажмите кнопку **»Добавить…»**.

Настройка параметров сканера:

  1. В следующем окне заполните поля:
    • Имя: Введите произвольное название, например, модель вашего аппарата.
    • Модель: Выберите из выпадающего списка вашу модель Kyocera. Если используется USB подключение, выбирайте модель именно с USB в названии.
    • Адрес сканера: Если используется сетевое подключение, пропишите IP-адрес вашего МФУ. Если используется USB подключение, поле остаётся пустым (или неактивным).
  2. По завершении нажмите кнопку **OK** внизу окна.

Проверка установки:

  1. Ваш аппарат должен появиться в списке установленных сканеров.
  2. Нажмите кнопку **»Закрыть»**.

Сканирование документов:

  1. Для сканирования ваших документов используйте приложения, поддерживающие функцию сканирования через TWAIN. Например:
    • Adobe Photoshop
    • Corel Paint Shop Pro
    • Бесплатная программа Paperscanfree

Пример настройки сканирования с использованием Kyocera TWAIN Driver:

  1. Установка драйвера: Скачали драйвер с официального сайта, распаковали архив и установили драйвер.
  2. Запуск Kyocera TWAIN Driver: Запустили программу и нажали кнопку **»Добавить…»**.
  3. Настройки: Заполнили поля:
    • Имя: Kyocera M2035dn
    • Модель: Kyocera M2035dn USB
    • Адрес сканера: (оставили пустым, так как USB подключение)
  4. Проверка: Убедились, что МФУ отображается в списке установленных устройств.
  5. Сканирование: Открыли Adobe Photoshop, выбрали опцию сканирования через TWAIN и отсканили документ.

Дополнительные советы:

  • Поддержка: Если у вас возникнут проблемы с настройкой или использованием МФУ, обратитесь к руководству пользователя или на сайт поддержки Kyocera для получения дополнительной помощи.
  • Меры предосторожности: Обязательно прочтите руководство по технике безопасности перед началом эксплуатации МФУ.

Следуя этим шагам, вы сможете успешно настроить сканирование на МФУ Kyocera с использованием TWAIN драйвера.

«`

У многих возникает вопрос: как настроить сканирование на МФУ Kyocera с помощью TWAIN-драйвера. Давайте разберём этот вопрос.

1. Скачайте и установите драйвер сканера

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

Найдите в списке драйверов «TWAIN scanner driver» (может называться иначе, однако в названии нужного вам файла всегда будет слово «TWAIN»), скачайте его и установите.

После установки драйвера, запустите утилиту «Kyocera TWAIN Driver», которая устанавливается вместе с драйверами. Найти её можно в списке всех программ в меню Пуск — папка «Kyocera».

2. Добавьте новое устройство

Нажмите кнопку «Добавить…»:

В окне добавления устройства:

  1. В поле «Имя» введите произвольное имя, которое будет отображаться в списке устройств в программах сканирования. Во избежание путаницы в будущем, рекомендуем вводить в это поле модель вашего МФУ
  2. В выпадающем списке «Модель» выберите модель Вашего устройства, чтобы утилита правильно подобрала параметры работы со сканнером.
    Обратите внимание: сетевые модели в списке числятся дважды, например «ECOSYS M2540dn» и «ECOSYS M2540dn (USB)». Если МФУ подключено по Wi-Fi или интернет-кабелю – выбирайте модель без приписки «(USB)», а если по USB – с припиской.
  3. Если МФУ подключено к локальной сети через интернет-кабель или Wi-Fi, то в поле «Адрес сканера» укажите IP-адрес или хост-имя МФУ.
    При подключении через интерфейс USB – указывать IP-адрес не нужно.

После завершения настройки драйвера сканера, нажмите кнопку «ОК».

3. Пользуйтесь

На этом настройка сканера Kyocera завершена. Некоторым компьютерам требуется перезагрузка для начала работы с TWAIN-устройствами, так что если сканирование будет недоступно (часто это происходит с ошибкой «Сканер занят» или при попытке сканирования бесконечно висит сообщение «Ожидание сканера»), в первую очередь перезагрузите компьютер.

Для сканирования Вы можете использовать любую программу для сканирования с поддержкой TWAIN, например:

  • NAPS2
  • PaperScan
  • HippoScan

Сразу ответим на несколько насущных вопросов:

  • Сканирование не работает даже после установки и настройки драйвера, убедитесь в том, что:
    1. Вы выбрали корректную модель устройства в настройке драйвера, а также верно задали её тип подключения (сетевое или USB)
    2. Убедитесь, что МФУ в принципе включено 🙂
    3. В случае сетевой модели Kyocera (работающей по Wi-Fi или интернет-кабелю), убедитесь, что компьютер видит ваше МФУ. Для этого откройте командную строку и выполните следующую команду:
      ping X.X.X.X
      Вместо X.X.X.X подставьте IP-адрес устройства или его хост-имя. В результате выполнения этой команды, все пакеты должны быть отправлены и получены. Потерь быть не должно. Если потери есть, но несколько пакетов дошло (или задержка при отправке пакетов более 100мс) – вероятно, плохое качество сигнала Wi-Fi или проблемы с интернет-кабелем. Если все пакеты потеряны, скорее всего МФУ не подключено к сети или имеет другой IP-адрес.
    4. В программе сканирования вы выбрали нужное МФУ, с которого будет производиться сканирование. Например в NAPS для этого необходимо создать профиль сканирования, выбрать «TWAIN» и выбрать созданное в настройках драйвера устройство.
    5. На МФУ не отображается ошибок на экране и не активны световые индикаторы ошибок на передней панели, поскольку некоторые модели МФУ Kyocera не позволяют запускать процесс сканирования при наличии ошибок. Некоторые ошибки на МФУ Kyocera можно временно сбросить (обычно до первой перезагрузки МФУ) нажатием на передней панели кнопок Отмена – ОК (Cancel – OK)
    6. Убедитесь, что у устройства в принципе есть поддержка TWAIN. Некоторые, в особенности старые устройства Kyocera, не имеют поддержки TWAIN, или же умеют сканировать через TWAIN только по локальной сети (не по USB).
      Данную информацию можно найти на официальном сайте Kyocera, в характеристиках продукта, в разделе «Сканирование», например:

      Для старых устройств, которых нет на официальном сайте, придётся искать информацию на сторонних сайтах:

    7. Обратите внимание!(дополнение от ноября 2025)
      В последнее время на Windows 10 и Windows 11 с новыми МФУ Kyocera наблюдаются проблемы TWAIN-драйвера при сканировании через USB-кабель: печать работает, а ПО для сканирования – висит в ожидании ответа МФУ. При этом в Диспетчере устройств TWAIN-устройство в проблемном состоянии.
      Причина такого поведения драйвера не ясна. Предположительно, данная проблема происходит в случае, если устанавливается отдельно TWAIN-драйвер, а потом, в дополнение к нему, устанавливается иная версия TWAIN-драйвера в комплекте с Kyocera QuickScan, после чего удаление TWAIN-драйверов Kyocera. На нашей практике единственное верное решение – подключение МФУ к локальной сети.

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

  • Есть ли у Kyocera своя полноценная программа для сканирования, например как у Canon, Xerox или HP?
    Для некоторых моделей своих МФУ, компания Kyocera добавляет поддержку ПО для сканирования. Данное ПО называется «Kyocera Quick Scan». Найти его можно на странице драйвера, в разделе «Программное обеспечение»:

  • В процессе установки драйвера, установились драйвера и на WIA, и на TWAIN. Какой лучше использовать?
    В случае с Kyocera, по нашему опыту, лучше использовать TWAIN драйвер, так как в подавляющем большинстве случаев у данного производителя он работает менее проблематично, нежели WIA. Если по какой-то причине TWAIN-драйвер всё-таки проявляет проблемы при своей работе, можно попробовать использовать WIA или установить другую версию драйвера TWAIN.
  • Сканер то сканирует, то выдаёт ошибки. Печать при этом всегда работает без проблем.
    В случае USB-сканирования, чаще всего данная проблема происходит, если кабель USB изношен, плохого качества или слишком длинный. Мы рекомендуем приобретать USB-кабели длиной не более 1.5 метра, с ферритовыми фильтрами, которые защитят кабель от наводок и помех, либо экранированные кабели длиной до 3 метров.
    В случае сканирование по сети, данная проблема может быть связана с плохим сигналом Wi-Fi, проблемами с интернет-кабелем или сетевым оборудованием, либо же с большой загрузкой локальной сети.
    Дело в том, что сканирование на всех МФУ более привередливо, нежели печать, поскольку механизм передачи информации между МФУ и компьютером при этих действиях отличается, и сканирование может «запнуться» буквально из-за малейших помех при передаче информации с МФУ на компьютер, что выдаст ошибку сканирования.

В случае, если вы не можете самостоятельно «победить» настройку сканера Kyocera, или же вам нужна какая-либо помощь с устройством данного производителя, вы можете связаться с нами по телефону +7 (84635) 3-84-52 или через сообщения Jivo (в правом нижнем углу этой страницы). Мы попробуем оказать вам информационную поддержку или удалённую помощь (вам будет необходимо установить программу удалённого доступа, чтобы мы могли подключиться к вашему компьютеру).

Kyocera M2035dn, Xerox WorkCentre 3615 и 6505DN

Как и обещал в первой части, за которую я успешно получил инвайт в песочнице, в этой заметке я покажу как подключить сетевые МФУ Kyocera M2035dn, Xerox WorkCentre 3615 и 6505DN, а в конце статьи добавлю небольшой бонус с которым любой скрипт связанный с сетью становится лучше.

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

Kyocera M2035dn

Приехал как всегда не в мое уютное админское логово, а сразу на объект и как и мфу от HP, в глаза его я, если честно, даже не видел.
Первым делом качаем драйвер и смотрим содержимое… ба, знакомые все люди:

Есть пометка о том, что подключение сетевое (network) и есть ID!
Попробуем подключить сканер через devcon, подобно тому как мы подключали МФУ от HP в первой части:
.\devcon.exe /r install C:\Drivers\Scanners\2035dnscan\kmwiadrv.inf "KM_WC_ECOSYS_M2035dn_N_WIA"

Сканер подключился, прописываем в реестр адрес сканера параметром ScannerAddress и запускаем сканирование. Приложение сканирования показало отсканированный лист, все работает отлично. Казалось бы победа, но запуск второй, используемой у нас программы для сканирования, поубавил радости — сканер в ней не отображался.

Оказывается разработчики Kyocera почему-то в драйвере реализовали сканирование только через WIA, для TWAIN надо ставить отдельный

косты..

враппер, который пробрасывает TWAIN интерфейс в WIA и возвращает обратно результат. Выглядит гуй этого TWAIN драйвера следующим образом:

При этом, по WIA мы можем подключить несколько сканеров Kyocera, в то время как TWAIN интерфейс у нас будет всегда только один. Либо пользуйтесь WIA, либо каждый раз запускайте нашу утилиту и переключайте сканер. Придется смириться, а пока посмотрим как нам обойти запуск этой утилиты на машине пользователя.
Утилита хранит настройки в ini-файлах, по одному файлу KM_TWAIN*.ini на каждый сетевой сканер и один результирующий файл с описанием сканеров и файлов их настроек.
Скрин обоих файлов, для одного подключенного сканера:

Теперь установка видится следующей:
— подключаем сканер через devcon
— если утилита TWAIN не установлена, ставим её
— добавляем адрес сканера в реестр
— проходимся по реестру в поиске подключенных сканеров Kyocera и на основе данных в реестре генерируем ini-файлы

Расширим функцию подключения сканера из предыдущей заметки следующим кодом, который я постарался по-максимуму прокомментировать:

# знакомый нам участок кода с подключением через devcon
"M2035dn" {
    Push-Location 'C:\Drivers\Scanners\ip\2035dnscan\'
    if ($(Get-Platform) -eq "Windows x64") {
        .\devconx64.exe /r install $dest\kmwiadrv.inf "KM_WC_ECOSYS_M2035dn_N_WIA"
    } else {
        .\devcon.exe /r install $dest\kmwiadrv.inf "KM_WC_ECOSYS_M2035dn_N_WIA"
    }
    Pop-Location

    # проверяем стоит ли костыль kyocera, если нет ставим в тихом режиме
    $twain = Get-WMIObject -Class Win32_Product -Filter 'Name = "Kyocera TWAIN Driver"'
    if (!($twain)) {
        Push-Location 'C:\Drivers\Scanners\2035dnscan\TWAIN'
        .\setup.exe /S /v /qn
        Pop-Location
    }

    # получаем содержимое ветки реестра в которой хранятся настройки сканеров и камер
    $scanclass = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}'

    # так как мы только что поставили новый сканер, то его номер будет последним среди сканеров
    $item = (Get-ChildItem $scanclass | Where-Object Name -match "\d{4}$" | Select -Last 1).PSChildName

    # добавляем адрес сканера
    New-ItemProperty "$scanclass\$item\DeviceData" -Name "ScannerAddress" -Value $ipaddress | Out-Null

    # тут применил расширенный синтаксис Foreach-Object, состоящий из трех частей
    # первая и последняя выполняются по одному разу, при запуске цикла и его окончании соответственно;
    # код в секции process выполняется для каждого элемента цикла
    Get-ChildItem  $scanclass | Foreach-Object -Begin {
        $count = 0
        Add-Type -As System.Web
        # стандартный пароль, который задает утилита
        $pass = '43srWkUjR/8='
        $scanitem = @{}
        $filelist = @()
    } -Process {
        $path = $_.Name -replace 'HKEY_LOCAL_MACHINE', 'HKLM:'
        $prop = Get-ItemProperty $path
        if ($prop.Vendor -eq 'Kyocera') {
            $count ++
            $twfilename = "KM_TWAIN$count`.INI"
            $devicedata = Get-ItemProperty "$path\DeviceData"
            $cont = @{'Unit'='0';'ScannerAddress'=$devicedata.ScannerAddress; 'SSL'='0'}
            $auth = @{'Auth'='0';'UserName'=''; 'Account'='0'; 'ID'='';'Password'=$pass}
            $twcont = @{'Contents'=$cont; 'Authentication'=$auth}
            Out-IniFile -inputobject $twcont -FilePath "$env:temp\$twfilename"
            $filelist += , "$env:temp\$twfilename"

            $devicename = $devicedata.'Model Name' + " #$count"
            $modelname = $devicedata.'Model Name'
            $scanreg = @{'Name'=$devicename;'Model'=$modelname;'DefFile'=$twfilename;'LastScan'='';'ScanList'='';'Pos'=($count-1)}
            $scanitem.Add("Scanner$count", $scanreg)
        }
    } -End {
        $regfilename = 'RegList.ini'
        $settings = @{'Type'='4'; 'DefaultUse'=$count;'RegNum'=$count;}
        $reglist = @{'Setting'=$settings}
        $reglist += $scanitem
        Out-IniFile -inputobject $reglist -FilePath "$env:temp\$regfilename"
        $filelist += , "$env:temp\$regfilename"
    }

    # удаляем предыдущие ini-файлы и подкладываем сгенерированные выше с новым сканером
    Get-ChildItem $env:systemdrive\users -Directory -Recurse -Include 'appdata' -Force | ForEach-Object {
        $kyodir = $_.FullName + "\Roaming\Kyocera\KM_TWAIN"
        If (!(Test-Path $kyodir)) {
            New-Item -Type Directory -Path $kyodir
        } else {
            Remove-Item "$kyodir\*" -Recurse
        }
        $filelist | ForEach-Object {
            Copy-Item $_ $kyodir -Force | Out-Null
        }
    }
}

В скрипте я использовал функцию вывода хэш-таблицы в ini-файл, вот её код:

function Out-IniFile($inputobject, $filepath) {
    # .Example
    # $Category1 = @{'Key1'='Value1';'Key2'='Value2'}
    # $Category2 = @{'Key1'='Value1';'Key2'='Value2'}
    # $NewINIContent = @{'Category1'=$Category1;'Category2'=$Category2}
    # Out-IniFile -inputobject $NewINIContent -FilePath 'C:\MyNewFile.INI'

    $outfile = New-Item -ItemType File -Path $filepath -Force
    foreach ($i in $inputobject.keys) {
        Add-Content -Path $outfile -Value "[$i]"
        Foreach ($j in ($inputobject[$i].keys | Sort-Object)) {
            Add-Content -Path $outfile -Value "$j=$($inputobject[$i][$j])"
        }
        Add-Content -Path $outfile -Value ''
    }
}

Xerox WorkCentre 3615 и 6505DN

Код этот успешно работал и проблем с ним не возникало, наверное, на протяжении полугода пока ветер опять не подул в другую сторону. В сторону Xerox.
В аутлук упало письмо с ip-адресами двух новых мфу, WorkCentre 3615 и WorkCentre 6505DN. Дорога хода мыслей при знакомстве с новым мфу уже проторена, открываем драйвер и видим знакомое:

И настроение мое улучшилось©

Распаковываем драйвер, запускаем консоль, выполняем:
.\devcon.exe /r install C:\Drivers\Scanners\xx3615\xrszdim.inf "NON_PNP&WorkCentre3615"

Сканер подключился и на экран выскочил новый, как это принято говорить, воркэраунд, только уже от разработчиков Xerox:

Очередная странная утилита от авторов драйвера для прописывания IP, причем запускается она из драйвера при установке. Значит, для того что бы спрятать ее от пользователя, будем прибивать ее в скрипте, в общем-то не беда.

Сейчас покажу на примере 3615, как расширить функцию подключения сканера. От 6506DN она практически не отличается, разве что другое имя файла драйвера и ID:

"3615" {
    Push-Location 'C:\Drivers\Scanners\xx3615\'
    if ($(Get-Platform) -eq "Windows x64") {
        .\devconx64.exe /r install C:\Drivers\Scanners\xx3615\xrszdim.inf "NON_PNP&WorkCentre3615"
    } else {
        .\devcon.exe /r install C:\Drivers\Scanners\xx3615\xrszdim.inf "NON_PNP&WorkCentre3615"
    }
    Pop-Location
    
    Get-Process "AIOScanSettings" | Stop-Process -Force

    # не могу вразумительно ответить почему я тут применил reg add,
    # спишем на ностальгию по cmd, а замену на New-ItemProperty оставим домашкою читателю
    &rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "EnableEnhancedBW" /t REG_DWORD /d 1 /f
    &rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "ISO_B_Series" /t REG_DWORD /d 1 /f
    &rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "IP Address" /t REG_SZ /d $ipAddress /f
 
}

Теперь мы умеем подключать целый зоопарк сетевых мфу и совершенно ничего не боимся, осталось добавить какой-нибудь магии… магии snmp!

Ищем МФУ в сети по snmp

SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP.
ru.wikipedia.org/wiki/SNMP

Для работы с snmp из powershell я в скрипте использовал открытую библиотеку sharpsnmp, подробнее о ее использовании можно почитать по адресу: vwiki.co.uk/SNMP_and_PowerShell
После подключения библиотеки получение информации сводится к вызову функции Invoke-SNMPget с указанием Ip и uid, последний из которых легко гуглится.
Пример из кода:
Invoke-SNMPget $ip .1.3.6.1.2.1.25.3.2.1.3.1

Результат работы поиска выводим на экран, о том как это сделать в одну комманду чуть ниже:

Остается выделить нужный принтер и нажать OK, кстати множественное выделение так же возможно, в этом случае подключатся все выделенные принтеры.
Эту удобную гуёвую магию обеспечивает командлет Out-GridView, отображающий любые переданные в него объекты. При вызове с параметром PassThru, после нажатия OK он передаст дальше по конвейеру выбранные объекты, нам остается только по очереди вызвать наши функции установки драйверов с параметрами пришедшими в объекте из конвейера.

В упрощенном виде скрипт примет вид:

$hosts | Out-GridView -Title "Выберите принтеры для установки" -PassThru | Foreach-Object {
        $printername = $_.Name
        $printersource = $_.Source

        switch -regex ($printername) {
            "xerox.+3615" {
                $modelname = "Xerox WorkCentre 6505DN PCL 6"
                $driverpath = 'C:\Drivers\Scanners\xx6505\xrxmozi.inf'
            }
        }

        Write-Host "Добавляется порт IP принтера $printerName"
        Add-PrinterPort $modelname $printersource

        Write-Host "Добавляется драйвер принтера $printername"
        Add-PrinterDriver $modelname $driverpath

        Write-Host "Добавляется сканер принтера $printername"
        Add-Scanner $printersource $modelname 
    }

В процессе изучения откликов принтеров, столкнулся с тем, что принтеры отдают порой имя отличающееся от имени прописанного в драйвере, для обхода этой особенности добавил в скрипт простой свитч с регулярками, которые никогда не промахиваются и как мы знаем полны по Тьюрингу 😉

switch -regex ($printername) {
    "hp.+305\d" {
        $modelName = "HP LaserJet 3050 Series PCL 6"
    }
    "hp.+3390" {
        $modelName = "HP LaserJet 3390 Series PCL 6"
    }
    "xerox.+3615" {
        $modelName = "Xerox WorkCentre 3615 PCL6"
    }
    "xerox.+650[0,5]DN" {
        $modelName = "Xerox WorkCentre 6505DN PCL 6"
    }
}

Полный код готового скрипта поиска и подключения сетевого принтера

$ErrorActionPreference = "silentlycontinue"

function Main {

	# путь к драйверам
	$driversdistrib = 'C:\Drivers\'

	# загружаем snmp либу
	$snmplibpath = Join-Path (Get-Location).path "\SharpSnmpLib.dll"
	if (Test-Path $snmplibpath) {
		[reflection.assembly]::LoadFrom((Resolve-Path $snmplibpath))
	} else {
		Write-Host "Не удалось найти SharpSnmpLib"
		Exit
	}

	# вычисляем подсеть, без хитрой математики, в лоб и только /24
	$network = (Get-IPaddress).ToString() -replace "\.[0-9]{1,3}$"

	# в диапазоне закрепленном за принтерами ищем устройства
	$hosts = 10..40 | ForEach-Object {
		$ip = "$network.$_"
		$snmpanswer= $null
		$snmpanswer = Invoke-SNMPget $ip .1.3.6.1.2.1.25.3.2.1.3.1
		if ($snmpanswer) {
			# формируем объект с двумя свойствами который улетит в переменную $hosts
			[pscustomobject]@{
				Name = $snmpanswer.Data;
				Source = $ip;
			}
		}
	}

	# выводим объекты в гуй с параметром PassThru, который передаст выбранные дальше по конвейеру
	$hosts | Out-GridView -Title "Выберите принтеры для установки" -PassThru | Foreach-Object {
		$printername = $_.Name
		$printersource = $_.Source

		switch -regex ($printername) {
			"hp.+305\d" {
				$printername = "HP LaserJet 3050 Series PCL 6"
				$driverpath = Join-Path $driversdistrib 'Printers\3050\hppcp601.inf'
			}
			"hp.+3390" {
				$printername = "HP LaserJet 3390 Series PCL 6"
				$driverpath = Join-Path $driversdistrib 'Printers\3050\hppcp601.inf'
			}
			"hp.+153[0,6]" {
				$printername = "HP LaserJet M1530 MFP Series PCL 6"
				$driverpath = Join-Path $driversdistrib 'Printers\1530\hpc1530c.inf'
			}
			"hp.+1522" {
				$printername = "HP LaserJet M1522 MFP Series PCL 6"
				$driverpath = Join-Path $driversdistrib 'Printers\1522\hppcp608.inf'
			}
			"M2035dn" {
				$printername = "Kyocera ECOSYS M2035dn KX"
				$driverpath = Join-Path $driversdistrib 'Printers\2035dn\OEMSETUP.INF'
			}			
			"xerox.+3615" {
				$printername = "Xerox WorkCentre 3615 PCL6"
				$driverpath = Join-Path $driversdistrib 'Scanners\xx3615\x2GPROX.inf'
			}
			"xerox.+650[0,5]DN" {
				$printername = "Xerox WorkCentre 6505DN PCL 6"
				$driverpath = Join-Path $driversdistrib 'Scanners\xx6505\xrxmozi.inf'
			}
		}

		Write-Host "Добавляется порт IP принтера $printerName"
		Add-PrinterPort $printername $printersource

		Write-Host "Добавляется драйвер принтера $printername"
		Add-PrinterDriver $printername  $driverpath

		Write-Host "Добавляется сканер принтера $printername"
		Add-Scanner $printersource $printername
	}
}
function Add-PrinterPort ($printersource) {
	&cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prnport.vbs `
	-a -r $printersource -h $printersource -o RAW -n 9100 | Out-Null
}
function Add-PrinterDriver ($printerName, $driverpath) {
	$folder = Split-Path $driverpath
	cscript C:\Windows\System32\Printing_Admin_Scripts\ru-RU\prndrvr.vbs `
	-a -m $printerName -e Get-Platform -h $folder -i $driverpath
}
function Add-Scanner ($ipaddress, $printername) {
	switch -regex ($printername) {
		"1530" {
			Push-Location (Join-Path $driversdistrib 'Scanners\1536scan\')
			if ($(Get-Platform) -eq "Windows x64") {
				.\hppniscan64.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a $ipAddress -n 1
			} else {
				.\hppniscan01.exe -f "hppasc16.inf" -m "vid_03f0&pid_012a&IP_SCAN" -a $ipAddress -n 1
			}
			Pop-Location
		}
		"(305\d)|(3390)" {
			Push-Location (Join-Path $driversdistrib 'Scanners\3055scan\')
			switch -regex ($printername) {
				"3050" {
					.\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3217&IP_SCAN" -a $ipAddress -n 1
				}
				"3052" {
					.\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3317&IP_SCAN" -a $ipAddress -n 1
				}
				"3055" {
					.\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3417&IP_SCAN" -a $ipAddress -n 1
				}
				"3390" {
					.\hppniscan01.exe -f "hppasc01.inf" -m "vid_03f0&pid_3517&IP_SCAN" -a $ipAddress -n 1
				}
			}
			Pop-Location
		}
		"1522" {
			Push-Location (Join-Path $driversdistrib 'Scanners\1522scan\')
			if ($(Get-Platform) -eq "Windows x64") {
				.\hppniscan64.exe -f "hppasc08.inf" -m "vid_03f0&pid_4517&IP_SCAN" -a $ipAddress -n 1
			} else {
				.\hppniscan01.exe -f "hppasc08.inf" -m "vid_03f0&pid_4517&IP_SCAN" -a $ipAddress -n 1
			}
			Pop-Location
		}
		"M2035dn" {
			Push-Location (Join-Path $driversdistrib 'Scanners\2035dnscan\')
			if ($(Get-Platform) -eq "Windows x64") {
				.\devconx64.exe /r install $dest\kmwiadrv.inf "KM_WC_ECOSYS_M2035dn_N_WIA"
			} else {
				.\devcon.exe /r install $dest\kmwiadrv.inf "KM_WC_ECOSYS_M2035dn_N_WIA"
			}
			Pop-Location

			$twain = Get-WMIObject -Class Win32_Product -Filter 'Name = "Kyocera TWAIN Driver"'
			if (!($twain)) {
				Push-Location (Join-Path $driversdistrib 'Scanners\2035dnscan\TWAIN')
				.\setup.exe /S /v /qn
				Pop-Location
			}

			$scanclass = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}'
			$item = (Get-ChildItem $scanclass | Where-Object Name -match "\d{4}$" | Select -Last 1).PSChildName
			New-ItemProperty "$scanclass\$item\DeviceData" -Name "ScannerAddress" -Value $ipAddress | Out-Null
			Get-ChildItem  $scanclass | ForEach-Object -Begin {
				$count = 0
				Add-Type -As System.Web
				$pass = [System.Web.Security.Membership]::GeneratePassword(12,2)
				$scanitem = @{}
				$filelist = @()
			} -Process {
				$path = $_.Name -replace 'HKEY_LOCAL_MACHINE', 'HKLM:'
				$prop = Get-ItemProperty $path
				if ($prop.Vendor -eq 'Kyocera') {
					$count ++
					$twfilename = "KM_TWAIN$count`.INI"
					$devicedata = Get-ItemProperty "$path\DeviceData"
					$cont = @{'Unit'='0';'ScannerAddress'=$devicedata.ScannerAddress; 'SSL'='0'}
					$auth = @{'Auth'='0';'UserName'=''; 'Account'='0'; 'ID'='';'Password'=$pass}
					$twcont = @{'Contents'=$cont; 'Authentication'=$auth}
					Out-IniFile -inputobject $twcont -FilePath "$env:temp\$twfilename"
					$filelist += , "$env:temp\$twfilename"

					$devicename = $devicedata.'Model Name' + " #$count"
					$modelname = $devicedata.'Model Name'
					$scanreg = @{'Name'=$devicename;'Model'=$modelname;'DefFile'=$twfilename;'LastScan'='';'ScanList'='';'Pos'=($count-1)}
					$scanitem.Add("Scanner$count", $scanreg)
				}
			} -End {
				$regfilename = 'RegList.ini'
				$settings = @{'Type'='4'; 'DefaultUse'=$count;'RegNum'=$count;}
				$reglist = @{'Setting'=$settings}
				$reglist += $scanitem
				Out-IniFile -inputobject $reglist -FilePath "$env:temp\$regfilename"
				$filelist += , "$env:temp\$regfilename"
			}
			Get-ChildItem $env:systemdrive\users -Directory -Recurse -Include 'appdata' -Force | ForEach-Object {
				$kyodir = $_.FullName + "\Roaming\Kyocera\KM_TWAIN"
				If (!(Test-Path $kyodir)) {
					New-Item -Type Directory -Path $kyodir
				} else {
					Remove-Item "$kyodir\*" -Recurse
				}
				$filelist | ForEach-Object {
					Copy-Item $_ $kyodir -Force | Out-Null
				}
			}
		}
		"6505" {
			Push-Location (Join-Path $driversdistrib 'Scanners\xx6505\')
			if ($(Get-Platform) -eq "Windows x64") {
				.\devconx64.exe /r install $dest\xrsmoim.inf "NON_PNP&WorkCentre6505"
			} else {
				.\devcon.exe /r install $dest\xrsmoim.inf "NON_PNP&WorkCentre6505"
			}
			Pop-Location

			Get-Process "AIOScanSettings" | Stop-Process -Force

			&rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 6505\TwainDriver" /v "EnableEnhancedBW" /t REG_DWORD /d 1 /f
			&rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 6505\TwainDriver" /v "IP Address" /t REG_SZ /d $ipAddress /f
		}
		"3615" {
			Push-Location (Join-Path $driversdistrib 'Scanners\xx3615\')
			if ($(Get-Platform) -eq "Windows x64") {
				.\devconx64.exe /r install $dest\xrszdim.inf "NON_PNP&WorkCentre3615"
			} else {
				.\devcon.exe /r install $dest\xrszdim.inf "NON_PNP&WorkCentre3615"
			}
			Pop-Location

			Get-Process "AIOScanSettings" | Stop-Process -Force
            # тут в слове rеg, средняя буква русская, дабы не превращался в &reg
			&rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "EnableEnhancedBW" /t REG_DWORD /d 1 /f
			&rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "ISO_B_Series" /t REG_DWORD /d 1 /f
			&rеg.exe add "hklm\SOFTWARE\Xerox\WorkCentre 3615\TwainDriver" /v "IP Address" /t REG_SZ /d $ipAddress /f
		}
	}
}
function Get-IPaddress {
	$ipWmiObject = Get-WmiObject Win32_NetworkAdapterConfiguration -filter "IPEnabled = 'True'"
	$ipWmiObject.IPAddress -match "^192\.([0-9]{1,3}\.){2}[0-9]{1,3}$"
}
function Get-Platform {
	if ([System.Environment]::Is64BitOperatingSystem) {
		"Windows x64"
	} else {
		"Windows NT x86"
	}
}
function Out-IniFile($inputobject, $filepath) {
	# .Example
	# $Category1 = @{'Key1'='Value1';'Key2'='Value2'}
	# $Category2 = @{'Key1'='Value1';'Key2'='Value2'}
	# $NewINIContent = @{'Category1'=$Category1;'Category2'=$Category2}
	# Out-IniFile -inputobject $NewINIContent -FilePath 'C:\MyNewFile.INI'

	$outfile = New-Item -ItemType File -Path $filepath -Force
	foreach ($i in $inputobject.keys) {
		Add-Content -Path $outfile -Value "[$i]"
		Foreach ($j in ($inputobject[$i].keys | Sort-Object)) {
			Add-Content -Path $outfile -Value "$j=$($inputobject[$i][$j])"
		}
		Add-Content -Path $outfile -Value ''
	}
}
function Invoke-SNMPget {
	param (
		[string]$sIP,
		$sOIDs,
		[string]$Community = "public",
		[int]$UDPport = 161,
		[int]$TimeOut=30
		)
	$vList = New-Object 'System.Collections.Generic.List[Lextm.SharpSnmpLib.Variable]'
	foreach ($sOID in $sOIDs) {
		$oid = New-Object Lextm.SharpSnmpLib.ObjectIdentifier ($sOID)
		$vList.Add($oid)
	}
	$ip = [System.Net.IPAddress]::Parse($sIP)
	$svr = New-Object System.Net.IpEndPoint ($ip, 161)
	$ver = [Lextm.SharpSnmpLib.VersionCode]::V1

	try {
		$msg = [Lextm.SharpSnmpLib.Messaging.Messenger]::Get($ver, $svr, $Community, $vList, $TimeOut)
	} catch {
		return $null
	}

	$res = @()
	foreach ($var in $msg) {
		$line = "" | Select OID, Data
		$line.OID = $var.Id.ToString()
		$line.Data = $var.Data.ToString()
		$res += $line
	}
	$res
}

. Main

На этом на сегодня всё, надеюсь мои заметки помогут вам забыть о проблемах с сетевыми принтерами и освободят время для изучения PowerShell.
Спасибо за внимание тем, кто дочитал до этого момента 😉

Итак, необходимо настроить МФУ Kyocera FS-6525MFP для сканирования по сети.

Первый этап настройки — это создание общей папки на компьютере для сканирования.

Для открытия общего доступа необходимо кликнуть 1 раз правой кнопкой мыши по необходимой папке, выбрать пункт меню «Свойства«, а затем перейти на вкладку «Доступ» и нажать кнопку «Общий доступ«.

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

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

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

Следующим этапом будет настройка МФУ:

1. Наберите в адресной строке IP-адрес МФУ

IP-адрес МФУ

2. Введите логин и пароль в окне регистрации. Логин и пароль по умолчанию Admin. Далее нажмите кнопку «Вход в систему».

Вход в систему

3. Перейдите на вкладку «Параметры» для настройки получаемого при сканировании файла.

Вкладка Параметры

4. Далее перейдите на вкладку  «Сканер» — «По умолчанию». Установите настройки получаемого при сканировании файла.

Настройки получаемого при сканировании файла

5.  Вернитесь в основное меню через ссылку «Домашняя страница».

6.  Перейдите на вкладку «Адресная книга», для добавления контакта нажмите кнопку «Добавить контакт».

Добавление контакта

7.  На следующем этапе необходимо заполнить следующие поля:

Имя: ввести имя пользователя.

SMB

Имя хоста: IP-адрес ПК с общей папкой.

Номер порта: 139.

Путь: название общей папки.

Имя пользователя:  имя ПК.

Пароль для регистрации:  оставить прежнее.

Далее необходимо нажать кнопку «Тест».

Заполнение данных

8. Начнётся процесс тестирования.

Процесс тестирования

Если тестирование пройдет успешно, появится сообщение «Соединение с сервером установлено».

Успешное соединение с сервером

Если появится сообщение «Ошибка соединения»:

Ошибка соединения

Необходимо проверить настройки сканера или работоспособность локальной сети и общих папок (соединение может блокировать антивирус или брандмауэр, если так, то необходима их настройка).

9. При успешном тестировании, необходимо нажать кнопку «Передать».

Кнопка передать

10.  Контакт успешно добавлен.

Контакт добавлен

Для проверки сканирование необходимо произвести следующие действия:

1)  Нажмите на лицевой панели МФУ кнопку «Отправить«.

2)  В появившемся меню выберите пункт «Адресная книга«.

3)  Выберите контакт (установите галочку слева).

4) Нажмите кнопку ОК.

5) Для начала сканирования нажмите кнопку «Старт«.

В итоге, отсканированный файл должен появиться в общей папке.

Отсканированный файл

Удачи!!!

  • ВКонтакте

Любой драйвер для вашего ПК
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии