Установить сетевой принтер через веб-приложение (html)

Я пытаюсь написать простой веб-интерфейс, позволяющий пользователям устанавливать один из нескольких предопределенных сетевых принтеров. Сначала я думал, что это будет простая задача, так как я могу легко установить принтеры с помощью команды запуска, нажав на принтер (\printserv\имя_принтера). Я планировал либо использовать это в теге, либо добавить к нему префикс «file://», но оба метода приводят к следующей ошибке.

«\printserv\имя_принтера недоступен. Возможно, у вас нет разрешения на использование этого сетевого ресурса. Свяжитесь с администратором этого сервера, чтобы узнать, есть ли у вас права доступа».

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


person gerges    schedule 20.07.2010    source источник
comment
На какой платформе и в каком браузере?   -  person Pekka    schedule 20.07.2010
comment
@Pekka Windows XP, IE 8 (и 7, если возможно).   -  person gerges    schedule 20.07.2010


Ответы (2)


Открытие локальных местоположений — будь то в файловой системе или в сети — стало ужасно сложным из-за соображений безопасности. Мне еще предстоит найти метод, который делает это в Firefox для меня как разработчика (с полным доступом к браузеру), чтобы я мог добавлять прямые ссылки на свою IDE веб-разработки во время просмотра моих веб-приложений в отладке. режим.

Я бы порекомендовал определить операционную систему пользователя (XP/2000/Vista/7/любая), отобразить рассматриваемый сетевой адрес большим и толстым в центре экрана:

\printserv\имя_принтера

а затем отобразить индивидуальные пошаговые инструкции по установке:

  1. Нажмите кнопку «Пуск».
  2. Нажмите «Выполнить…».
  3. Скопируйте и вставьте адрес выше в поле.
  4. Нажмите «ОК»

и т.п.

person Pekka    schedule 20.07.2010

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

Пожалуйста, учтите следующее: если бы можно было запускать произвольные административные команды через ваши браузеры, русская мафия уже владела бы всеми вашими машинами. Microsoft проделала достаточно дыр в безопасности, чтобы взломать многие, многие ПК с Windows, но это все еще не так серьезно, как дыра, которую вы хотели бы использовать.

Браузер - это программа, способ просмотра страниц в сети. Это не административный командный интерфейс для вашего ПК.

Все же.

Есть некоторые хитрости, которые вы можете проделать с JavaScript в IE, которые дадут вам доступ ко многим функциям базовой системы. Но всякий раз, когда я публикую код, люди кричат ​​на меня. Я не уверен, что он выполнит установку вашего принтера за вас, но если вы настаиваете, попробуйте получить этот код у кого-нибудь другого. Честно говоря, у меня его нет под рукой, и мне пришлось бы копать глубоко для этого.

person Carl Smotricz    schedule 20.07.2010
comment
Я слышу тебя, чувак, и согласен... если кому-то в будущем будет любопытно, вот кое-что из тех уловок, о которых ты говорил. Мне не очень удобно его использовать. ‹тип сценария=текст/javascript› var WshNetwork = новый ActiveXObject(WScript.Network); var PrinterPath = \\\\printserv\\printername; WshNetwork.AddWindowsPrinterConnection(PrinterPath); WshNetwork.SetDefaultPrinter(Путь к принтеру); ‹/скрипт› - person gerges; 20.07.2010
comment
Вся ваша база принадлежит нам. - person Mike Fulton; 12.10.2018