Разница сервисных различий в Windows 7 между местной системой и местным обслуживанием
-
18-09-2020 - |
Вопрос
У меня есть довольно сложная насадка, так что готовимся к длинному посту, пока не добраться до проблемы:
Мне удалось получить PDFCREATOR и виртуальный принтер для создания PDF под Windows 7, работающий в режиме сервера в качестве службы. Следующим шагом в процессе является PDFCREATOR, вызывающий VBScript после создания PDF. Скрипт загружает PDF на наш сервер через Webservice и опросы сервера для полученного PDF. Когда результирующий PDF был загружен, VBScript должен распечатать его к запущенному принте.
Теперь для печати I использовал интегрированный COM-объект PDFCREATOR, который дает доступ к Ghostscript. Это работало отлично запущено Windows XP для любой учетной записи служба PDFCREATOR. Например, как пользователь домена, чтобы иметь доступ к совместному принтерам VBScript, поскольку пользовательский контекст такой же, как сервис PDFCREATOR.
Теперь я попробовал то же самое для Windows 7 и использовал учетную запись «Локальную систему», как и раньше, потому что мой тестовый принтер является локальным (и работает, то есть TestPage). Эффект состоит в том, что WScript остается в диспетчере задач и никогда не заканчивается. Затем я активировал интерактивный режим для сервиса и призрака пилы, просив принтер для печати. Принтер существует, когда я проверял перед вызовом GS в VBScript, но из любой причины Ghostscript не видит принтера, хотя в диалоговом окне открывается, чтобы выбрать принтер, принтер там.
Через дней Долгий поиск и безуспешно пытается даже преданный новый аккаунт администратора для служащего без успеха, я наконец-то придумал, как это работает. Изменение пользователя для службы PDFCREATOR в «Служба Locale», которую я впервые получил ошибку, что создание объекта PDFCREATOR COM не удалось. Хорошо, я подумал, что это имеет смысл, так как «Обслуживание локаль» имеет меньше прав, которые «система локали». Я получил этот предел, изменив доступ вправо в соответствии с COMEXP.MSC и предоставил права «Обслуживание локаль» для локального и удаленного доступа COM и Script. Voilá, все работало.
Что я не понимаю: почему Ghostscript под учетной записью «Locale Service» способна найти принтер, хотя учетная запись имеет меньше права, которые «система локали»?
и: какое право доступа мне нужно установить для «системы локали» или любой другой учетной записи пользователя, чтобы она работала?
или: есть ли всеобъемлющий список подробных различий между этими учетными записями?
Большое спасибо и приветствуем, Гад
Решение
Ответ можно найти здесь: KB184291
Это о ASP / IIS работает под «локальной системой» учетной записи и не может печатать, потому что принтера не доступны под пользователем .default.Копирование записей реестра помогает.
Приветство, Гад