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

War es hilfreich?

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);
            }
        }
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top