414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
|
|
1 | |
Автоматическая печать с сервера на сетевой принтера15.04.2017, 06:29. Показов 1041. Ответов 8
Метки нет (Все метки)
Здравствуйте.
OC - Windows Server 2012 R2. Написал Windows Service, который автоматически генерирует pdf-файл и отправляет его печататься на сетевой принтер. Для печати pdf использую установленный на сервере acrobat. Сервис запущен под Local System. После запуска сервиса обнаружил, что он работает только из активной сессии. Т.е. пока подключен к серверу - печать ведется, а если disconect или log off, то нет. В-общем это мой подход для решения задачи. Есть предположение, что нужно пользоваться какими-то другими методами. Есть какие-то мысли?
0
|
15.04.2017, 06:29 | |
Ответы с готовыми решениями:
8
Автоматическая печать Печать на 2 принтера Автоматическая печать текста Медленная печать принтера |
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
|
|
16.04.2017, 08:50 [ТС] | 3 |
Да. Это хорошая идея. Запись в лог всех значимых событий. Сейчас выходные, смогу сделать только в Пн.
P.S. Я тут вычитал, что у Local Systme нет доступа к сетевым принтерам http://www.verypdf.com/wordpre... -2310.html . Возможно дело в этом.
0
|
Модератор
|
|
20.04.2017, 09:26 | 4 |
Быть может под "NT AUTHORITY\LocalService"?
А что мешает запустить службу от имени "NT AUTHORITY\NetworkService"? Если у Вас доменная сеть и сервер в домене, тогда еще проще: создаете доменного пользователя с админскими правами и архисложным паролем, и настраиваете запуск службы от имени этой учетки. У меня так службы SQL и 1С работают.
0
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
|
|
20.04.2017, 09:33 [ТС] | 5 |
Что бы была понятна проблематика с печатью, вот небольшой пруф, что-бы было понятно что я ничего не придумываю: https://social.msdn.microsoft.... arpgeneral
0
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
|
|
20.04.2017, 12:46 [ТС] | 7 |
Для печати pdf я исспользую Аскробат.
Проблема в том что из Windows Service нельзя запустить GUI (а он для Акробата запускается даже в сайленс режиме). Там по ссылке именной по этой прчине создается класс ProcessStarter. Он заменяет стандартный Process (позволяет из приложения запустить процесс) который начиная с windows выше XP не работает совсем. ProcessStarter делает тоже самое, что и Process но используя api win32. Я уверен там что-то можно подправить, но использование ProcessStarter имеет один недостаток - если все сесии не активны, то ничего не работает. Я не тестировал под Network service и др., только под Local System и доменной учеткой с правами админа. Так вот для последнего не работает вовсе никак. Все тесты курение гугла и прочее потянуло много времени. Человек которому я все это настраивал просто не верит в существоние проблемы печати из сервиса. Сейчас решение такое. Экзешник сервиса переделан в приложение, которое все время висит в фоне под админской учеткой. Пока учетке не сделан log off все работает. Ну а в планах (мечтах) переделать это так, чтобы под local system автоматическая печать работала без log on кого-либо из пользователей. Добавлено через 13 секунд Для печати pdf я исспользую Аскробат. Проблема в том что из Windows Service нельзя запустить GUI (а он для Акробата запускается даже в сайленс режиме). Там по ссылке именной по этой прчине создается класс ProcessStarter. Он заменяет стандартный Process (позволяет из приложения запустить процесс) который начиная с windows выше XP не работает совсем. ProcessStarter делает тоже самое, что и Process но используя api win32. Я уверен там что-то можно подправить, но использование ProcessStarter имеет один недостаток - если все сесии не активны, то ничего не работает. Я не тестировал под Network service и др., только под Local System и доменной учеткой с правами админа. Так вот для последнего не работает вовсе никак. Все тесты курение гугла и прочее потянуло много времени. Человек которому я все это настраивал просто не верит в существоние проблемы печати из сервиса. Сейчас решение такое. Экзешник сервиса переделан в приложение, которое все время висит в фоне под админской учеткой. Пока учетке не сделан log off все работает. Ну а в планах (мечтах) переделать это так, чтобы под local system автоматическая печать работала без log on кого-либо из пользователей.
0
|
Модератор
|
|
20.04.2017, 13:41 | 8 |
_katon_, я внимательно прочитал Ваш крайний пост и в упор не могу понять, почему Вы так вцепились в учетку "local system"? И неужели у Вас не найдется 20-30 минут времени, чтобы попробовать запустить необходимые службы от имени других учеток (какие именно, указаны выше)?
И Вы правильно заметили Учетная запись "local system" не может быть использована для доступа к сетевым ресурсам. Второй момент, есть альтернатива "Акробату", например "PDF-XChange Editor".
1
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
|
|
20.04.2017, 14:10 [ТС] | 9 |
Уверен найду время! И когда протестирую отпишусь. Прямо сейчас это затруднительно - занят дургими задачами.
0
|
20.04.2017, 14:10 | |
20.04.2017, 14:10 | |
Помогаю со студенческими работами здесь
9
Некорректная печать принтера Печать на 2 принтера в Windows XP. Печать на два принтера Печать с локального принтера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |