Как определить, на каком сервере установлен принтер - PullRequest
0 голосов
/ 28 декабря 2011

Если я найду принтер в Active Directory, есть ли способ определить сервер, на котором он установлен? Если я смотрю на принтер в консоли Active Direcory, заголовок свойств сообщает мне сервер, как я могу определить это значение программно?

Редактировать: язык C #

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

Атрибут serverName или uncName объекта printQueue в AD, скорее всего, то, что вам нужно.

1 голос
/ 28 декабря 2011

Чтобы построить ответ в предоставленной alexn, ссылке, я написал программу, которая распечатает информацию о сервере для каждого принтера на компьютере:

        String server = String.Empty;

        // For each printer installed on this computer
        foreach (string printerName in PrinterSettings.InstalledPrinters) {
            // Build a query to find printers named [printerName]
            string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName);

            // Use the ManagementObjectSearcher class to find Win32_Printer's that meet the criteria we specified in [query]
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
            ManagementObjectCollection coll = searcher.Get();

            // For each printer (ManagementObject) found, iterate through all the properties
            foreach (ManagementObject printer in coll) {
                foreach (PropertyData property in printer.Properties) {
                    // Get the server (or IP address) from the PortName property of the printer
                    if (property.Name.Equals("PortName")) {
                        server = property.Value as String;
                        Console.WriteLine("Server for " + printerName + " is " + server);
                    }
                }
            }
        }

Все остальные свойства принтера также доступны в виде PropertyData.

0 голосов
/ 23 декабря 2017

Чтобы найти общий принтер, нажмите «Рабочий стол», дважды щелкните «Сеть», дважды щелкните имя компьютера, к которому подключен принтер, а затем дважды щелкните принтер, который вы хотите отобразить в консоли Windows SBS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...