簡體   English   中英

獲取C#中域中所有打印服務器的列表

[英]Get list of all print servers in the domain in C#

我在一個大型環境中工作,為技術支持團隊編寫實用程序。 我需要提供域中所有打印服務器的列表,讓他們選擇一個。 一旦他們選擇了打印服務器,我將列出該打印服務器上的所有打印隊列,並讓他們選擇一個。 我已經找到了大量如何從打印服務器中提取打印隊列列表的示例,但沒有提供如何獲取打印服務器列表的示例。

如何獲取域中所有打印服務器的列表(C#)?

您可以使用System.Management命名空間。

請參考以下主題:
是否有.NET方法來枚舉所有可用的網絡打印機?

我不確定這是否有幫助,但您可以查找網絡中的所有計算機並檢查其名稱。

像這樣:

// Reference System.DirectoryServices is needed

DirectoryEntry root = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry computers in root.Children)
{
    foreach (DirectoryEntry computer in computers.Children)
    {
        if (computer.SchemaClassName == "Computer") {
            if (computer.Name.IndexOf("printer-prefix-or-so")==-1)
                Console.WriteLine(computer.Name);
        }                            
    }
}

在PowerShell中,您可以執行以下操作:

Import-Module ActiveDirectory Get-ADObject -LDAPFilter“(&(&(&(uncName = *)(objectCategory = printQueue))))” - property * | Sort-Object -Unique -Property servername | select servername

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM