如何在 Windows 10 机器的默认配置文件中设置通过 Samba 共享的打印机?

如何在 Windows 10 机器的默认配置文件中设置通过 Samba 共享的打印机?

我目前管理着一个学术图书馆的计算机实验室。我们有一台通过 Samba 共享的 CUPS 打印机,用于提供现金销售打印、为忘记身份证的学生和客人提供打印服务。这台打印机已经运行了好几年,效果非常好。

我们最近将实验室升级到 Windows 10,发现它不再“记住”打印机。我们可以通过导航到轻松安装打印机\\xxx.yyy.zzz.253\Cash Sales Printer- 它会找到驱动程序、安装并正常工作。但它只能在该个人资料我们需要让每个登录的用户都能使用,即使他们之前从未登录过。

我该如何设置这台打印机以使其默认可用?

更新:

我尝试按照以下步骤将其添加为本地打印机:

  1. Add Printer从控制面板中的设备和打印机菜单
  2. 点击“我想要的打印机未列出”
  3. 单击“添加本地打印机或手动设置的网络打印机”,然后单击“下一步”
  4. 点击“创建新端口”
  5. 从下拉菜单中选择“标准 TCP/IP 端口”,然后单击“下一步”
  6. 在“主机名或 IP 地址”字段中输入 IP 地址,然后单击下一步
  7. 它静静地旋转了大约 2 分钟,然后说:

需要附加端口信息对话框。

到目前为止,我尝试了几种不同的方法。我选择“标准打印服务器”作为设备类型,然后继续设置,一路选择正确的驱动程序。在这种情况下,我成功定义了一台打印机,但我的所有测试打印作业都失败了。

我还尝试选择设备类型为“自定义”,将协议更改为 LPR,并将其lpr1作为队列名称。这失败了——我定义了打印机,但无法成功打印到它。

我尝试输入其共享名作为主机,但 Windows 10 拒绝接受 \ 字符作为该字段的输入,因此我无法继续。

更新2:

有关设置的更多详细信息。

打印机本身是 HP LaserJet P4014n。它有一个内置打印服务器,并连接到我们的网络。但是,它不会直接与相关实验室计算机共享。

这台打印机是我们的现金销售打印机。我们需要能够在打印机开始打印之前授权打印作业。为了实现这一点,我们设置了一个 Ubuntu Linux 服务器,并通过 CUPS 将打印机连接到该服务器。这是定义它的 Printers.conf 文件:

<Printer Cash_Sales>
UUID urn:uuid:f8c8f3f0-d4c6-3ec9-7acb-4325bdec9e3e
Info Pay cash for your black and white prints.
Location Front desk.
DeviceURI hp:/net/HP_LaserJet_P4014?ip=aaa.bbb.ccc.ddd
PPDTimeStamp *
State Idle
StateTime 1424138203
Type 8425668
Accepting Yes
Shared Yes
ColorManaged Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
Option job-hold-until indefinite
Option job-hold-until-default indefinite
</Printer>

这些Option job-hold-until设置允许我们使用 CUPS 网络界面来发布通过 CUPS 发送到此打印机的打印作业。

下一步是通过 Samba 将 CUPS 定义的链接共享给打印机。以下是 smb.conf 中的相关行:

[printers]
   comment = Cash Sales
   browseable = yes
   path = /var/spool/samba
   printable = yes
   guest ok = yes
   read only = yes
   create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = no
   guest ok = yes

Linux 端一切正常。我可以进入实验室中的任何机器,使用以下命令访问实际打印机的 CUPS 打印机的 Samba 共享:

\\aaa.bbb.ccc.ddd\Cash Sales Printer

...其中 abcd 是实际 IP 地址。Windows 可以很好地找到 Samba 共享上的驱动程序,并安装打印机并进行打印。

剩下的唯一一件事就是在实验室里安装好这个该死的东西。过去四年来,我们一直在 Windows 7、8 和 8.1 下安装。但我不知道最后一步。要么是我缺乏一些关键的知识,要么是 Win 8.1 和 Win 10 之间发生了一些变化,导致它无法正常工作。

学校三周前开学了。现金销售打印机不是默认设置的,参考馆员每天要设置 10 到 20 次,每个需要它的用户设置一次。我已经为此挣扎了好几个星期,除了其他事情要做之外,自二月份以来,我一直在兼任三个全职职位,当时技术部门的其他两名成员都离开了,去了新的地方。

感觉我离解决方案已经很近了。我只是希望这个愚蠢的东西能起作用。

答案1

解决了!有效的程序如下:

  1. 转到控制面板、设备和打印机,然后添加打印机
  2. 点击“我想要的打印机未列出”
  3. 选择“添加本地打印机或手动设置的网络打印机”,然后下一步
  4. 选择“创建新端口”
  5. 将端口类型更改为“本地端口”,然后下一步
  6. 对于端口名称,输入 \\HOST_NAME_OR_IP\SHARE_NAME
  7. 当提示输入驱动程序时,请选择您的制造商/驱动程序。
  8. 完成向导,并将打印机命名为“Cash Sales”。

这样,打印机就被定义为使用当地的端口,因此会显示在所有配置文件中。

但本地端口实际上指向网络共享,以便打印作业到达正确的位置。

需要注意的一点是,我的 Samba 宣传共享的名称为“Cash Sales Printer”,但在内部它被命名为“Cash_Sales”——这似乎与打印机在 CUPS 中的命名方式相对应。我必须使用该\\\aaa.bbb.ccc.ddd\Cash_Sales版本才能使其正常工作。

还有一个缺点,那就是自动驱动程序部署不起作用。您必须从 Windows 自带的长长列表中手动选择驱动程序,或者通过“有磁盘”选项提供驱动程序。因此部署要繁琐得多。但至少它能正常工作!

非常感谢提出建议的评论者。

相关内容