如何找到企业中的所有网络打印机?
当我进入“打印机和传真”对话框时,我可以单击“ Add a printer
链接,选择“ Network Printer
,然后单击Find a printer in the directory
。 从那里我得到一个对话框,让我找到企业中的所有打印机。
我需要用我的代码找到所有的网络打印机。 我怎样才能做到这一点?
请注意,我不是在谈论连接到我的PC的网络打印机,而是企业中的所有网络打印机(我的工作场所有近4000台打印机)。
PS PrintServer()。GetPrintQueues仅返回连接到计算机的打印机。
PPS这是我想要的简短video: http : //www.angryhacker.com/toys/FindAllPrinters/FindAllPrinters.html
带有(objectClass=printer)
(objectClass=printQueue)
filter的DirectorySearche应该可以解决问题。
using (var e = new DirectoryEntry("LDAP://DC=example,DC=com")) using (var s = new DirectorySearcher(e)) { s.Filter = "(objectClass=printQueue)"; using (var c = s.FindAll()) { WL("Returned {0} objects", c.Count); foreach (SearchResult r in c) { WL("{0}", r.Path); } } }