Question

J'ai une boîte à outils plutôt compliquée, alors préparez-vous à un poteau long jusqu'à ce que ce soit au problème:

J'ai réussi à obtenir PDFCreator et à créer une imprimante Virtual PDF sous Windows 7 en mode serveur en tant que service. L'étape suivante du processus est PDFCreator appelant un VBScript après la création du PDF. Le script télécharge le PDF sur notre serveur via WebService et interroge le serveur pour un PDF résultant. Lorsque le PDF résultant a été téléchargé, le VBScript doit l'imprimer à une imprimante confirmée.

Maintenant pour imprimer, j'utilisais l'objet COM intégré de PDFCreator qui donne accès à Ghostscript. Cela a fonctionné parfaitement Windows XP pour tout compte Le service PDFCreator a été lancé. Par exemple, l'utilisateur de domaine pour avoir accès à des imprimantes partagées à partir de VBScript, car le contexte de l'utilisateur est identique au service PDFCreator.

Maintenant, j'ai essayé la même chose pour Windows 7 et utilisé le compte "Système local" comme avant, car mon imprimante de test est une locale (et fonctionne, c'est-à-dire de tester). Effet est que le WScript reste dans le chef de la tâche et ne finit jamais. Ensuite, j'ai activé le mode interactif activé pour le service et une scie Ghostscript demandant à l'imprimante à imprimer. L'imprimante existe comme je l'ai vérifié avant d'appeler GS au sein de la VBScript, mais de toute raison que Ghostscript ne voit pas l'imprimante, bien que dans la boîte de dialogue s'ouvrit pour sélectionner l'imprimante, l'imprimante est présente.

Après des jours de recherche et d'essayer sans succès, même un nouveau compte administrateur dédoré pour le serveur sans succès, je suis finalement proposé un moyen de le faire fonctionner. Changement de l'utilisateur du service PDFCreator vers "Service local" J'ai d'abord eu une erreur sur laquelle la création d'objet PDFCreator Com a échoué. D'accord, je pensais que cela a du sens, comme le «service local» a moins de droits que le «système local». J'ai eu la limite de cette limite en modifiant le droit d'accès sous Comexp.msc et attribué des droits "Service locale" pour l'accès local et distant et accès au script. Voilá, tout a fonctionné.

Ce que je ne comprends pas: pourquoi GhostScript est-il sous le compte "Service local" capable de trouver l'imprimante bien que le compte ait moins de droits que "système local"?

et: quel droit d'accès dois-je régler pour "Système local" ou tout autre compte utilisateur pour le faire fonctionner?

ou: existe-t-il une liste complète de différences détaillées entre ces comptes?

Merci beaucoup et saluez, Ghad

Était-ce utile?

La solution

La réponse peut être trouvée ici: KB184291

Il s'agit d'ASP / IIS en cours d'exécution sous "Système local" et ne peut pas imprimer car les imprimantes ne sont pas disponibles sous l'utilisateur .default.Copier sur les entrées de registre aide.

salut, Ghad

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top