none
Printer ACL RRS feed

  • Вопрос

  • Здравствуйте!

    Как можно настроить безопасность на удалённом/локальном принтере? Вручную это делается на вкладке "Безопасность". Там можно задать кто может печатать/управлять принтером и т.п. Решение должно работать на XP/2003/Vista/2008/7

    Есть кое-что тут и тут . Но всё это работает только в vista/2008 и выше, как я понимаю. А жаль. Может быть можно как-то и для XP/2003 это дело настроить?

    PS. Внешние утилиты типа SetACL не предлагать! В частности её я уже использую.
    • Перемещено I.Vorontsov 2 ноября 2009 г. 8:14 Более соответствующая тематика (От:Visual C#)
    1 ноября 2009 г. 11:26

Ответы

  • Боюсь, здесь подойдет только вариант программного ввода команд для таких средства как SetACL, SubInACL


    Увы, но не могу согласится, что написанное вами является ответом на мой вопрос. К тому же, я ещё в первом посте написал "Внешние утилиты типа SetACL не предлагать!". Я на данный момент и так вызываю SetACL из кода.

    Другой, единственный как я понял, путь состоит в том, чтобы использовать в коде вызов функций Win32 API. Копать в сторону PRINTER_INFO_3 и SetPrinter . Тут конечно же могут помочь исходники SetACL.

    Но всё это какие-то обходные пути. Жаль конечно, но похоже на то, что .NET тут не помощник .

    ЗЫ. Ведь есть же удобные классы для работы со списками доступа к папкам и файлам, например. Никто не в курсе, появилось что-нибудь подобное для принтера в .NET 4 или нет?
    • Помечено в качестве ответа niichavo 15 ноября 2009 г. 16:33
    15 ноября 2009 г. 16:32

Все ответы

  • Опишите пожалуйста вашу проблему более детально! Что за принтер, как подключен, сеть, домен и т.д.

    2 ноября 2009 г. 13:11
  • Опишите пожалуйста вашу проблему более детально! Что за принтер, как подключен, сеть, домен и т.д.

    Хм, дык вроде и так детально всё описано.

    Есть компьютеры на базе xp/2003/vista/2008/..., короче на базе ОС от MS от XP и выше. На них установлены локальные и сетевые принтеры. Принтеры расшарены. Т.е. компы эти выполняют роль принт-серверов.

    Задача , ну например, выдавать права на печать, отбирать права на печать, смотреть у кого есть права на печать. Вручную всё делается во вкладке "Безопасность" принтера. Есть утилиты для работы с этим через командную строку. Например, SetACL.

    Нужно программно , используя .NET, изменять безопасность принтеров.

    ЗЫ. Домен есть. Хотя для решения данной задачи это не принципиально
    3 ноября 2009 г. 12:24
  • Боюсь, здесь подойдет только вариант программного ввода команд для таких средства как SetACL, SubInACL

    • Помечено в качестве ответа Илья Воробьев 14 ноября 2009 г. 12:10
    • Снята пометка об ответе niichavo 15 ноября 2009 г. 15:38
    14 ноября 2009 г. 12:07
  • Боюсь, здесь подойдет только вариант программного ввода команд для таких средства как SetACL, SubInACL


    Увы, но не могу согласится, что написанное вами является ответом на мой вопрос. К тому же, я ещё в первом посте написал "Внешние утилиты типа SetACL не предлагать!". Я на данный момент и так вызываю SetACL из кода.

    Другой, единственный как я понял, путь состоит в том, чтобы использовать в коде вызов функций Win32 API. Копать в сторону PRINTER_INFO_3 и SetPrinter . Тут конечно же могут помочь исходники SetACL.

    Но всё это какие-то обходные пути. Жаль конечно, но похоже на то, что .NET тут не помощник .

    ЗЫ. Ведь есть же удобные классы для работы со списками доступа к папкам и файлам, например. Никто не в курсе, появилось что-нибудь подобное для принтера в .NET 4 или нет?
    • Помечено в качестве ответа niichavo 15 ноября 2009 г. 16:33
    15 ноября 2009 г. 16:32