Как перезагрузить принтеры в coldfusion без перезапуска службы?
Это мое основное понимание того, как сделать принтер доступным для использования в ColdFusion
.
- Удаленный доступ к серверу, на котором запущен CF, используя учетную запись CF
служба работает под.
- Откройте панель управления Windows и добавьте
принтер.
- Перезапустите службу CF.
Мой вопрос: есть ли способ перезагрузить принтеры без перезагрузки службы CF?
Это проблема, которую мы пытаемся устранить.
Детальная информация об ошибке CF:
Error: Printer \\(server)\(printerName) is not available. Available printers are: , şៈ᠘, , , , 凙ᜀᚈ, , 疠쐵䚏, , .
Перезапуск службы CF исправляет это, но, похоже, это происходит довольно часто в последнее время. Мне интересно, есть ли какой-нибудь java-код для перезагрузки принтеров, чтобы это можно было сделать автоматически. Мы используем CF9.
Ответы
Ответ 1
Для использования сетевого принтера ColdFusion нужно будет запускать под учетной записью домена, которая имеет разрешения на network resources
. Пользователем по умолчанию, с которым работает служба Windows ColdFusion, является localSystem
. У этой учетной записи обычно есть много разрешений для локальной системы, но нет разрешений в сети. Обычным решением является создание учетной записи домена для этой цели, а затем установка службы ColdFusion Windows для запуска в качестве этого пользователя в панели управления службами.
Недавно я установил принтер на свой серверный компьютер, и он был обнаружен сразу без каких-либо проблем.
Я использую CF10 в 64-разрядной системе Windows 7. Таким образом, следующий код перечислил мой принтер без перезапуска службы вообще:
<cfdump var="#GetPrinterInfo()#">
Надеюсь, это поможет.
Ответ 2
Я работал с Java и принтерами, и, как заявил daveloyall в комментариях, проблема может возникнуть из Java.
Тесты показали, что при запуске приложения java он принимает моментальный снимок текущего списка принтеров и никогда не обновляет его, поэтому единственный способ обновить список принтеров - перезапустить приложение.
Ответ 3
Да, sudo разобрался бы...
Или, sysadmin устанавливает синхронизацию на более короткий интервал (но это увеличит выделенное время CPU).