1

我正在尝试编写一个简单的 Web 界面,以允许用户安装一些预定义的网络打印机之一。我最初认为这将是一项简单的任务,因为我可以通过运行命令轻松安装打印机,方法是点击打印机死机 (\printserv\printername)。我曾计划在标签中使用它,或者在它前面加上“file://”,但这两种方法都会导致以下错误

“\printserv\printername 不可访问。您可能没有使用此网络资源的权限。请联系此服务器的管理员以了解您是否具有访问权限。”

我知道我有权使用此资源,因为我可以通过运行命令安装它。知道我可能做错了什么,或替代解决方案吗?

4

2 回答 2

1

问题是安装打印机是一种“系统”类型的活动,可能需要管理员访问权限(这对您来说可能很容易,但对其他人来说可能不是!)。现在您计划通过浏览器运行此操作!

请考虑这一点:如果可以通过您的浏览器运行任意管理命令,那么俄罗斯黑手党就已经拥有了您的所有机器。微软已经在安全方面打了足够多的漏洞,以至于很多很多 Windows PC 都被黑客入侵了,但它仍然没有你想要使用的漏洞那么糟糕。

浏览器是一个程序,是一种查看网络页面的方式。它不是您 PC 的管理命令界面。

然而。

您可以在 IE 中使用 JavaScript 做一些技巧,让您可以访问许多底层系统。但是每当我发布代码时,人们都会对我大喊大叫。我不确定它是否会为您安装打印机,但如果您坚持,请尝试从其他人那里获取该代码。老实说,我手边没有它,不得不深入挖掘它。

于 2010-07-20T19:11:24.040 回答
1

由于安全原因,打开本地位置 - 无论是在文件系统上还是在网络中 - 都变得非常困难。作为开发人员(对浏览器具有完全访问权限),我还没有找到在 Firefox 中执行此操作的方法,因此我可以在调试模式下浏览我的 Web 应用程序时添加到我的 Web 开发 IDE 的直接链接。

我建议检测用户的操作系统(XP/2000/Vista/7/Whatever),在屏幕中央显示有问题的网络地址:

\printserv\打印机名

然后显示自定义的分步安装说明:

  1. 单击“开始”按钮。
  2. 单击“运行...”
  3. 将上面的地址复制并粘贴到该字段中。
  4. 点击“确定”

等等

于 2010-07-20T19:23:32.700 回答