Инсталирайте мрежов принтер чрез уеб приложение (html)

Опитвам се да напиша прост уеб интерфейс, който да позволи на потребителите да инсталират един от няколкото предварително дефинирани мрежови принтера. Първоначално мислех, че това ще е проста задача, тъй като мога лесно да инсталирам принтери чрез командата за изпълнение, като натисна принтера (\printserv\printername). Бях планирал или да използвам това в маркера, или да го поставя като префикс с "file://", но и двата метода водят до следната грешка

"\printserv\printername не е достъпен. Възможно е да нямате разрешение да използвате този мрежов ресурс. Свържете се с администратора на този сървър, за да разберете дали имате разрешения за достъп."

Знам, че имам разрешение да използвам този ресурс, тъй като мога да го инсталирам чрез командата run. Някаква идея какво може да правя погрешно или алтернативно решение?


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/Whatever), да покажете въпросния мрежов адрес голям и дебел в центъра на екрана:

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

и след това покажете персонализирани инструкции за инсталиране стъпка по стъпка:

  1. Щракнете върху бутона "Старт".
  2. Щракнете върху „Изпълни...“
  3. Копирайте и поставете адреса по-горе в полето.
  4. Щракнете върху "OK"

и т.н.

person Pekka    schedule 20.07.2010

Проблемът е, че инсталирането на принтер е "системен" вид дейност, която вероятно изисква администраторски достъп (може да е лесно за вас, но може би не и за други!). Сега планирате да изпълните тази операция през браузър!

Моля, помислете за това: Ако беше възможно да изпълнявате произволни административни команди през вашите браузъри, руската мафия вече щеше да притежава всичките ви машини. Microsoft е пробила достатъчно дупки в сигурността, че много, много компютри с Windows са хакнати, но все още не е толкова лошо, колкото дупката, която бихте искали да използвате.

Браузърът е програма, начин за разглеждане на страници в мрежата. Това не е административен команден интерфейс за вашия компютър.

Още.

Има някои трикове, които можете да направите с JavaScript в IE, които ще ви дадат достъп до голяма част от основната система. Но винаги, когато публикувам код, хората ми крещят. Не съм сигурен дали ще направи инсталирането на вашия принтер вместо вас, но ако настоявате, опитайте да получите този код от някой друг. Честно казано, нямам го под ръка и ще трябва да копая дълбоко за него.

person Carl Smotricz    schedule 20.07.2010
comment
Чувам те, човече, и се съгласявам... ако някой в ​​бъдеще е любопитен, ето част от тези трикове, за които говориш. Наистина не се чувствам удобно да го използвам. ‹script type=text/javascript› var WshNetwork = нов ActiveXObject(WScript.Network); var PrinterPath = \\\\printserv\\printername; WshNetwork.AddWindowsPrinterConnection(PrinterPath); WshNetwork.SetDefaultPrinter(PrinterPath); ‹/скрипт› - person gerges; 20.07.2010
comment
Цялата ви база принадлежи на нас. - person Mike Fulton; 12.10.2018