Domanda

Ho un toolchain piuttosto complicato, quindi preparati per un lungo post fino a raggiungere il problema:

Sono riuscito a ottenere PDFCreator e un PDF virtuale creando stampante in Windows 7 in esecuzione in modalità server come servizio. Il prossimo passo nel processo è PDFCreator chiamando un VBScript dopo aver creato il PDF. Lo script carica il PDF sul nostro server tramite WebService e sonda il server per un PDF risultante. Quando è stato scaricato il PDF risultante, VBScript deve stamparlo su una stampante configurata.

Ora per la stampa stavo utilizzando l'oggetto COM integrato di PDFCreator che dà accesso a GhostScript. Questo ha funzionato perfettamente Onder Windows XP per qualsiasi account è stato avviato il servizio PDFCreator. Ad esempio come utente di dominio per accedere alle stampanti condivise dal VBScript, poiché il contesto dell'utente è lo stesso del servizio PDFCreator.

Ora ho provato lo stesso per Windows 7 e ho utilizzato l'account "Local System" come prima, poiché la mia stampante di test è una rete locale (e funziona, I.e. TestPage). L'effetto è che il WScript rimane nel Task Manager e non finisce mai. Successivo Ho attivato la modalità interattiva per il servizio e un GhostScript Saw che chiede la stampante a cui stampare. La stampante esiste come controllata prima di chiamare GS all'interno del VBScript, ma fuori da qualsiasi motivo GhostScript non vede la stampante anche se nella finestra di dialogo aperta per selezionare la stampante, la stampante è lì.

Dopo giorni a lungo cercare e provare senza successo anche un nuovo account amministratore dedicato per il Servivo senza successo che finalmente ho trovato un modo per farlo funzionare. Modifica dell'utente per il servizio PDFCreator a "Servizio locale" Ho avuto un errore per la prima volta che la creazione dell'oggetto PDFCreator COM non è riuscita. Ok, ho pensato che questo ha senso, come "Servizio locale" ha meno diritti che "sistema locale". Ho ottenuto questo limite cambiando l'accesso a destra sotto COMEXP.MSC e concesso i diritti "Servizio Locale" per l'accesso locale e remoto di accesso COM e Script. Voilá, tutto ha funzionato.

Cosa non capisco: perché Ghostscript è in grado di trovare la stampante, sebbene l'account abbia meno diritti che "sistema locale"?

E: quale accesso è necessario impostare per "sistema locale" o qualsiasi altro account utente per farlo funzionare?

o: esiste un elenco completo di differenze dettagliate tra questi account?

Grazie mille e Greetz, GHAD

È stato utile?

Soluzione

La risposta può essere trovata qui: KB184291

Si tratta di ASP / IIS in esecuzione in un account "Sistema locale" e non è possibile stampare perché le stampanti non sono disponibili nell'ambito dell'utente .default.La copia sulle voci del registro aiuta.

Greetz, GHAD

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top