在我的组织中,有两个人负责处理打印机的不同方面。
一个是帮助台团队负责人,负责(除其他相关事项外)更新打印机列表及其详细信息,另一个是现场技术人员,负责实际处理打印机(修理、更换等)。
不幸的是,他们合作得并不好,有时技术人员在没有更新帮助台团队负责人的情况下更换了打印机(因此列表已经过时)。
当物理打印机发生变化时(即使是同一系列的打印机),是否有办法阻止打印服务器(Windows 2008)上的相关打印队列?
或者,是否有办法对此类更改发出警报?
答案1
在任何 Windows 机器上,您都可以从命令提示符执行 arp -a,您可以创建每 x 小时或天运行一次的脚本,解析输出,如果 Mac 发生变化,它会创建防火墙规则来阻止该 IP 甚至删除打印机。
防火墙:http://technet.microsoft.com/en-us/library/cc771920(v=ws.10).aspx
打印机:http://technet.microsoft.com/en-us/library/cc782930(v=ws.10).aspx
答案2
我相信这是网络库存软件的工作。您的打印机通过打印服务器工作,因此我假设它们是具有指定 IP 地址的网络打印机。然后,当打印机 MAC 地址更改时,您可以收到警报。不幸的是,虽然我可以想象如何编写这样的应用程序,但我没有使用任何此类现有软件的实际经验。
看看这个,它做了很多事情,但你可能会找到更适合自己的东西:
HP Web Jetadmin http://www.hp.com/united-states/web-jetadmin/index_f.html
http://www.spiceworks.com/free-pc-network-inventory-software/
http://www.printeradmin.com/print-management-software.htm
实际上编写这样的应用程序并不是很困难:您必须列出打印服务器上的所有打印机,跟踪它们的 MAC 地址,并在 MAC 地址发生变化时发出警报(例如通过电子邮件)。
如果您使用此脚本作为基础:
http://www.michelstevelmans.com/powershell-print-server-inventory-script/
然后像这样添加从 IP 获取 MAC 地址:
http://www.neolisk.com/techblog/powershell-getmacaddressofanyremoteip
您应该会获得打印机及其各自 MAC 地址的列表。如果您比较 2 个 CSV 文件,您会得到更改,并且可以进一步处理它们 - 例如从打印服务器中删除打印机。
该服务器上还有一个带有代码的答案,可能会很有趣:
如果不编写任何脚本,我怀疑这在 Windows Server 中是否可行。