Pergunta

Eu tenho uma caixa de ferramentas bastante complicada, então prepare-se para um longo post até chegar ao problema:

Eu consegui obter PDFCreator e uma impressora virtual PDF criando o Windows 7 em execução no modo de servidor como um serviço. O próximo passo no processo é pdfcreator chamando um vbscript após o PDF é criado. O script carrega o PDF para o nosso servidor via WebService e enuncia o servidor para um PDF resultante. Quando o PDF resultante foi baixado, o VBScript precisa imprimi-lo para uma impressora confiada.

Agora para imprimir eu estava usando o objeto COM integrado do PDFCreator que dá acesso ao Ghostscript. Isso funcionou perfeitamente onder o Windows XP para qualquer conta que o serviço PDFCreator foi iniciado. Por exemplo, como um usuário de domínio ter acesso a impressoras compartilhadas a partir do VBScript, como o contexto do usuário é o mesmo que o serviço PDFCreator.

Agora eu tentei o mesmo para o Windows 7 e usei a conta "Sistema local" como antes, porque minha impressora de teste é local (e funciona, isto é, teste). Efeito é que o WScript permaneça no Gerenciador de Tarefas e nunca termina. Em seguida, eu ativei o modo interativo para o serviço e uma serra ghostscript pedindo que a impressora imprima. A impressora existe como eu verifiquei antes de chamar o GS dentro do VBScript, mas fora de qualquer motivo Ghostscript não vê a impressora, embora na caixa de diálogo seja aberta para selecionar a impressora, a impressora está lá.

Após dias de longavelmente pesquisando e sem sucesso tentando até mesmo uma nova conta de administrador dedicada para o setor sem sucesso, eu finalmente criei uma maneira de trabalhar. Alterando o usuário para o serviço PDFCreator para "serviço de localidade" Eu recebi um erro que a criação de objetos do PDFCreator com falhou. Ok, pensei que isso faz sentido, como "serviço de localidade" tem menos direitos que "Sistema de localidade". Eu cheguei a este limite alterando o acesso ao Access sob o comexp.msc e concedeu direitos de "serviço de localidade" para acesso local e remoto e acesso de script. Voilá, tudo funcionou.

O que eu não entendo: Por que o Ghostscript está sob a conta "Loce Service" capaz de encontrar a impressora, embora a conta tenha menos direitos que "System"?

e: Qual acesso à direita, eu preciso definir para "Sistema de localidade" ou qualquer outra conta de usuário para fazer funcionar?

ou: Existe uma lista abrangente de diferenças detalhadas entre essas contas?

Muito obrigado e greetz, GHAD

Foi útil?

Solução

A resposta pode ser encontrada aqui: kb184291

É sobre ASP / IIS em execução em conta "Sistema local" e não é possível imprimir porque as impressoras não estão disponíveis no Usuário .Default.Copiar sobre entradas do Registro ajuda.

greetz, GHAD

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top