4

Add a printer[プリンタとFAX]ダイアログに移動すると、リンクをクリックして[]、[]の順に選択できNetwork PrinterますFind a printer in the directory。そこから、企業内のすべてのプリンタを検索できるダイアログボックスが表示されます。

コードを使用してすべてのネットワークプリンターを見つける必要があります。これどうやってするの?

私は自分のPCに接続されているネットワークプリンターについて話しているのではなく、企業内のすべてのネットワークプリンターについて話していることに注意してください(私の職場には約4000台のプリンターがあります)。

PS PrintServer()。GetPrintQueuesは、コンピューターに接続されているプリンターのみを返します。

PPSこれが私が欲しいものの短いビデオです:http ://www.angryhacker.com/toys/FindAllPrinters/FindAllPrinters.html

4

1 に答える 1

4

フィルターを使用したDirectorySearcherでうまくいくはずです。(objectClass=printer) (objectClass=printQueue)

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);
            }
        }
    }
于 2010-04-01T01:19:58.213 に答える