Wie kann ich finden die alle Netzwerkdrucker im Unternehmen?
-
23-09-2019 - |
Frage
Wenn ich auf Drucker und Faxgeräte Dialog gehen, kann ich Sie auf den Link Add a printer
, wählen Sie Network Printer
, dann Find a printer in the directory
. Von dort ich ein Dialogfeld, das mir alle Drucker im Unternehmen finden kann.
Ich brauche alle Netzwerkdrucker mit meinem Code zu finden. Wie kann ich das tun?
Beachten Sie, dass ich nicht über Netzwerkdrucker Die Rede, die an meinen PC angeschlossen, aber alle Netzwerkdrucker im Unternehmen (mein Arbeitsplatz hat fast 4000-Drucker).
P. S. Drucker Server (). GetPrintQueues liefert nur Drucker an den Computer angeschlossen.
P.P.S. Hier ist ein kurzes Video von dem, was ich will: http://www.angryhacker.com/ Spielzeug / FindAllPrinters / FindAllPrinters.html
Lösung
DirectorySearche r mit einem Filter für < strike> (objectClass=printer)
(objectClass=printQueue)
should den Trick.
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);
}
}
}