Расшарить программно принтеры

256
18 февраля 2017, 04:20

Добрый день!

Пытаюсь расшарить программно принтеры с использованием С#. Пробовал передавать скрипт prncnfg.vbs с аргументами . Пример скрипта с аргументами

prncnfg.vbs -t -p "Sony DPP-FP60" -h "Share" +shared -direct

и использовал SELECT * FROM Win32_Printer, но не могу включить общий доступ более чем на 1 принтер. Кроме того, после включения шары на 1 принтер уже не сработает шара на другой. Задержки в выполнении потоков не приносят результатов. Вручную через командную строку всё работает корректно.

Проект заключается в следующем: получаем список принтеров

foreach (var printer in PrintersList.SelectedItems)
{
     if (!string.IsNullOrEmpty(PrintersList.SelectedValue))
     {
        printersList.Add((string)printer);
     }
}

Потом передаём его в метод. Принтеры обрабатываются отдельно в списке, но включение доступа не передается на 2 и более принтера. Имя для доступа получается задать для всех выбранных принтеров.

foreach (string printers in list)
{
  string query = String.Format("SELECT * FROM Win32_Printer WHERE Name = '{0}'", printers);
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
  ManagementObjectCollection collection = searcher.Get();
  ManagementObject printer = collection.Cast<ManagementObject>().ElementAt(0);
  printer.Properties["ShareName"].Value = shareName;
  printer.Put();

Если включить значение,

printer.Properties["Shared"].Value = true;

то включается 1 принтер для расшаривания, а потом валится ошибка. Значение Shared, как я понимаю из примеров WMI не позволяет это сделать массово.

Подскажите, пожалуйста, можно это решить как-то или порекомендуйте библиотеку, которая умеет это делать

READ ALSO
Сервер-посредник не отдает контент

Сервер-посредник не отдает контент

Имеется 2 сервераОдин главный, другой посредник

312
Базы данных в crm long page (однастроничников)

Базы данных в crm long page (однастроничников)

Проект не коммерческий число пользователей около 100 может меньшеСильно не ругайте если что то не указал

298
Как поставить логотип в phpbb версии 3.2

Как поставить логотип в phpbb версии 3.2

Помогите пожалуйста как поставить свой логотип на phpbb форуме? Заранее спасибо!!!

456