[英]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.