Besitzer eines Druckauftrages ändern
Moin zusammen,
habt ihr eventuell eine Idee, wie man Druckjobs manipulieren kann?
Die Problematik ist, dass alle Ausdrucke einer externen Cloudanwendung mittels Windowsdienst abgerufen werden. Der Dienst wurde von einem Administratoraccount erstellt. Bei jedem Druckjob wird nun allerdings der Adminaccount als Besitzer genannt.
Den Dienst können wir nicht anders einstellen.
Das Einzige was man verändern könnte, wäre dass man den Benutzernamen bzw. das Benutzerkürzel mit im Dokumentennamen angibt.
Meine Idee bzw. Hoffnung ist, dass man nun alle Druckjobs von besagtem Adminaccount abfängt und mittels einer Übersetzungstabelle den Besitzer ändert.
Das Ganze soll erfolgen, da wir diverse Drucker mit einer Follow Me Funktion verwenden. Die Aliasfunktion ergibt hier m.E. keinen Sinn, da dann alle Ausdrucke aus der Cloudanwendung an einem Drucker von einer Person ausgedruckt werden. Da wir über mehrere Etagen verteilt sind, ist das kein Vorteil.
Aktuell lösen wir die Problematik mittels Direktdruck. Sprich man wählt einen Drucker aus und die Ausdrucke werden nicht an "Follow Me" übertragen. Finde die Lösung aber nicht optimal.
Ich freue mich auf eure Ideen.
Beste Grüße
Nils
habt ihr eventuell eine Idee, wie man Druckjobs manipulieren kann?
Die Problematik ist, dass alle Ausdrucke einer externen Cloudanwendung mittels Windowsdienst abgerufen werden. Der Dienst wurde von einem Administratoraccount erstellt. Bei jedem Druckjob wird nun allerdings der Adminaccount als Besitzer genannt.
Den Dienst können wir nicht anders einstellen.
Das Einzige was man verändern könnte, wäre dass man den Benutzernamen bzw. das Benutzerkürzel mit im Dokumentennamen angibt.
Meine Idee bzw. Hoffnung ist, dass man nun alle Druckjobs von besagtem Adminaccount abfängt und mittels einer Übersetzungstabelle den Besitzer ändert.
Das Ganze soll erfolgen, da wir diverse Drucker mit einer Follow Me Funktion verwenden. Die Aliasfunktion ergibt hier m.E. keinen Sinn, da dann alle Ausdrucke aus der Cloudanwendung an einem Drucker von einer Person ausgedruckt werden. Da wir über mehrere Etagen verteilt sind, ist das kein Vorteil.
Aktuell lösen wir die Problematik mittels Direktdruck. Sprich man wählt einen Drucker aus und die Ausdrucke werden nicht an "Follow Me" übertragen. Finde die Lösung aber nicht optimal.
Ich freue mich auf eure Ideen.
Beste Grüße
Nils
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7438702476
Url: https://administrator.de/forum/besitzer-eines-druckauftrages-aendern-7438702476.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
was noch ggf. gehen würde ist es als PDF ausgeben zu lassen. PDF lassen sich einfach - sofern Textstream vorhanden ist - auslesen und weiterverabeiten.
Damit dann aber der Auftrag bei der richtigen Person ankommt, müsste die wiederum im PDF zu finde sein. Immer. An der gleichen Stelle....
https://www.xpdfreader.com/pdftotext-man.html
Sachebearbeiter: Meyer
Sachbearbeiter:
Meyer
So in der Art. Lässt sich mit PowerShell einfach dann wohin leiten. Hab nur mit Follow Me nicht gearbeitet. Wird das Dokument im User-Kontext aber an die Drucker geschickt, sollten wieder die normalen Vorgaben gelten.
Für pdftotext braucht man nicht unbedingt OCR im Vorfeld. Aus Crystal Reports o.ä. direkt erstelle PDFs sind schon durchsuchbar. Die Verarbeitungszeit ist recht zügig.
Es gibt auch Tools, die den Spooler anhalten und Manipulationen erlauben. Frage ist ob das so sicher ist. Bzw. nur über eine GUI und von Hand läuft. Sehe so nur die Chance durchsuchbare PDF Dokumente rasch analyiseren und dann drucken zu lassen.
Wenn der Aufbau gleich ist und es immer auf der ersten Seite steht ist es schnell gemacht. Gleiches gilt auch für Barcodes. Barcode Reader DLL in PowerShell und Dokumenten Bereich analysieren. Ist fast nur ein Dreizeiler.
Aber dazu kennen wir den Aufbau der Dokumente nicht.
mfg Crusher
was noch ggf. gehen würde ist es als PDF ausgeben zu lassen. PDF lassen sich einfach - sofern Textstream vorhanden ist - auslesen und weiterverabeiten.
Damit dann aber der Auftrag bei der richtigen Person ankommt, müsste die wiederum im PDF zu finde sein. Immer. An der gleichen Stelle....
https://www.xpdfreader.com/pdftotext-man.html
Sachebearbeiter: Meyer
Sachbearbeiter:
Meyer
So in der Art. Lässt sich mit PowerShell einfach dann wohin leiten. Hab nur mit Follow Me nicht gearbeitet. Wird das Dokument im User-Kontext aber an die Drucker geschickt, sollten wieder die normalen Vorgaben gelten.
Für pdftotext braucht man nicht unbedingt OCR im Vorfeld. Aus Crystal Reports o.ä. direkt erstelle PDFs sind schon durchsuchbar. Die Verarbeitungszeit ist recht zügig.
Es gibt auch Tools, die den Spooler anhalten und Manipulationen erlauben. Frage ist ob das so sicher ist. Bzw. nur über eine GUI und von Hand läuft. Sehe so nur die Chance durchsuchbare PDF Dokumente rasch analyiseren und dann drucken zu lassen.
Wenn der Aufbau gleich ist und es immer auf der ersten Seite steht ist es schnell gemacht. Gleiches gilt auch für Barcodes. Barcode Reader DLL in PowerShell und Dokumenten Bereich analysieren. Ist fast nur ein Dreizeiler.
Aber dazu kennen wir den Aufbau der Dokumente nicht.
mfg Crusher
Weiterführend:
- PDF direkt drucken
- mfilemon
Bei mfilemon kann man GhostScript hinterlegen und so auch Größen/ Formate manipulieren.
Würde auch natürlich in TIF und dann via OCR durchsuchbares PDF erstellen können. Tesseract wäre da was, wenn ihr kein OCR habt.
Gerade beim Webservice würde ich zunächst klären, ob man durchsuchbare PDF erhält. Dann fällt einiges weg.
An verschiedenen Stellen suchen ist immer schiwerig. Besser wäre es, wenn die Metadaten immer an einen festen Platz angedruckt werden. Ich kenne wie gesagt den Aufbau nicht.
pdftotext kann auch nur Ausschnitte als txt ausgeben. Das würde ggf. die Geschwindigkeiet beim Verarbeiten erhöhen. Aber wir reden hier von normal weiter unter 5 Sekunden Verarbeitungszeit. Bis dann das Dokumente über Follow Me ausgegeben wird, vergehen ja auch Sekunden.
FollowMe füttern: Man kann im User-Kontext wiederum ein Script ausführen, das bei neuen PDF Ausdruck anstößt. Läuft das über den Taskplaner im Benutzer-Kontext, so sollte es wie "Direktdruck" sein. Also FollowMe müsste hier sofort dann funktionieren!
Ich hab damit aus CrystalReports PDF zentral verwursten lassen und bei den Usern abgelegt. Ging sehr gut!
- PDF direkt drucken
- mfilemon
Bei mfilemon kann man GhostScript hinterlegen und so auch Größen/ Formate manipulieren.
Würde auch natürlich in TIF und dann via OCR durchsuchbares PDF erstellen können. Tesseract wäre da was, wenn ihr kein OCR habt.
Gerade beim Webservice würde ich zunächst klären, ob man durchsuchbare PDF erhält. Dann fällt einiges weg.
An verschiedenen Stellen suchen ist immer schiwerig. Besser wäre es, wenn die Metadaten immer an einen festen Platz angedruckt werden. Ich kenne wie gesagt den Aufbau nicht.
pdftotext kann auch nur Ausschnitte als txt ausgeben. Das würde ggf. die Geschwindigkeiet beim Verarbeiten erhöhen. Aber wir reden hier von normal weiter unter 5 Sekunden Verarbeitungszeit. Bis dann das Dokumente über Follow Me ausgegeben wird, vergehen ja auch Sekunden.
FollowMe füttern: Man kann im User-Kontext wiederum ein Script ausführen, das bei neuen PDF Ausdruck anstößt. Läuft das über den Taskplaner im Benutzer-Kontext, so sollte es wie "Direktdruck" sein. Also FollowMe müsste hier sofort dann funktionieren!
Ich hab damit aus CrystalReports PDF zentral verwursten lassen und bei den Usern abgelegt. Ging sehr gut!
Sprechen wir hir vom Windows Standard Drucker Server oder ist es ein Client ?
Eventuell könntest du du die "Druckdatein" bearbeiten und so einen anderen Benutzer zuordnen. Wie kommt der Cloud Printjob denn zum Drucker ? Welche Anwendung ist es denn ?
Besteht die Möglichkeit den Drucker einfach Mahrfach in Form von Drucker_User 1--- Drucker_User99 anzulegen wie man es auch typischerweise mit Farb und SW Druckern macht bzw. Farbe/Brief/A4/A3 usw .... ?
Eventuell könntest du du die "Druckdatein" bearbeiten und so einen anderen Benutzer zuordnen. Wie kommt der Cloud Printjob denn zum Drucker ? Welche Anwendung ist es denn ?
Besteht die Möglichkeit den Drucker einfach Mahrfach in Form von Drucker_User 1--- Drucker_User99 anzulegen wie man es auch typischerweise mit Farb und SW Druckern macht bzw. Farbe/Brief/A4/A3 usw .... ?
Zitat von @Hasenkralle:
Der vorherige Ansatz scheint zu funktionieren. Ich bin auf einem guten Weg. Werde berichten, sollte es funktionieren.
Der vorherige Ansatz scheint zu funktionieren. Ich bin auf einem guten Weg. Werde berichten, sollte es funktionieren.
Script und Logik. PS Scripte wurden hier auch schon hundertfach diskutiert. Wenn du noch Probleme hast, kann man dir auch einfach in puncto Logik und PS helfen.
Wichtig sind nur "Anker-Punkte". Das zuverlässig die Metadaten erhalten werden. Was auch immer dir da vorschwebt. Alles andere ist nur Beiwerk. Bzw. kann man Fehlerbehandlung u.ä. ergänzen.
Gerade wenn es automatisch laufen soll, musst du dir ggf. noch Start/ Stop Bedingungen aussuchen. Mit einer LCK File arbeiten o.ä. Dann wird die Sache rund.
Naja man kann einfach einen Task erstellen, der unter dem jeweiligen Nutzer ausgeführt wird. Anders als bei privilegierter Ausführung musst du kein Kennwort setzen. Du kannst direkt "contoso.com\meyer" eintragen.
Die Tasks lassen sich auch mit PowerShell erstellen. Dann kann jeder User im Hintergrund die Daten abrufen/ drucken.
Würde auf dem Server auch gehen. Wir haben hier viele Startscripte. Da die Nutzer + PC Kombi bekannt ist, ist dann die lokale Einrichtung des Tasks einfacher. Da wir im User-Kontext sind kannst du auch Platzhalt für den Namen nehmen.
Sowas geht dann alles. Je nachdem wie die Dateien aufbereitet da liegen, kannst du also mit den Variablen die Lokation für dne User erreichen und die Datei dann an den Druckerr - unter dem User - schicken.
Task auf dem User PC. Kann man auch mit PS einrichten. Hat den Vorteil, dass man es komplett automatisieren kann. Auch "Helferlein" die unter dem User alle x-Minuten was ausführen sind so möglich. Wir bewegen uns dann komplett innerhalb des Useres. Es muss nur der PC dazu an sein. Wie es bei normalen Drucken ja auch der Fall sein wird.
Die Tasks lassen sich auch mit PowerShell erstellen. Dann kann jeder User im Hintergrund die Daten abrufen/ drucken.
Würde auf dem Server auch gehen. Wir haben hier viele Startscripte. Da die Nutzer + PC Kombi bekannt ist, ist dann die lokale Einrichtung des Tasks einfacher. Da wir im User-Kontext sind kannst du auch Platzhalt für den Namen nehmen.
$Env:UserName
$Env:UserDomain
$Env:ComputerName
Sowas geht dann alles. Je nachdem wie die Dateien aufbereitet da liegen, kannst du also mit den Variablen die Lokation für dne User erreichen und die Datei dann an den Druckerr - unter dem User - schicken.
Task auf dem User PC. Kann man auch mit PS einrichten. Hat den Vorteil, dass man es komplett automatisieren kann. Auch "Helferlein" die unter dem User alle x-Minuten was ausführen sind so möglich. Wir bewegen uns dann komplett innerhalb des Useres. Es muss nur der PC dazu an sein. Wie es bei normalen Drucken ja auch der Fall sein wird.
Ja, nein. Dazu solltest du nochmalschreiben, was du gemacht hast!
Wenn die User am PC sitzen, wäre so ein lokaler Task der auf die Server-Dateien zugreift einfacher. Ohne Kennwort kann man dann einfach im User-Kontext auf die Dateien zugreifen.
Wenn Du die User hast, ginge es noch anders. Dateien vom Server auf die User-PCs verteilen und dann von dort drucken. Hatten wir hier mal vor Wochen diskutiert. Normal ist es schöner, wenn die Clients auf die Dateien zugreifen. Wie im Ersten Szenario beschrieben.
Wie liegen die Dateien denn dort vor? Wie differenziert man, welchen User die gehören? Ich habe ja oben darauf hingewiesen, dass man ggf. die PDF analysieren muss. PDFtoText und dann anhand von merken es durch Ordner oder andere PDF Namen den Usern zuzuordnen. Dann kommen die über das lokale Script nur an Ihre Dateien heran. Ordner basiert könnte man sogar über Berechtigungen nachdenken.
Komplett im Background halte ich für nicht zielführend. Der User-Kontext ist nicht da und wie soll dann FollowMe funktionieren?
Server:
- Print to Files (PDF)
- Metadaten/ PDF extrahieren und PS Struktur bauen
-- printed_files\<username>\xxxxx.pdf
Client:
- Normaler Task für den User
- Ggf. mit VBS, PS o.ä. aufpoppen des PowerShell Fensters unterdrücken
- im User-Kontext dann Get-ChildItem \\server\printed_files\<username>\
- Dann es an den Drucker schicken.
- Das es lokal ist und wir die User-Drucker alle haben müsste dann auch FollowMe greifen
So hatte ich mir das vorgestellt.
Dateien "abholen" und ablegen kann ein Background/ Servertask sein. Du musst aber ja die Zuordnung herstellen und dann an die Drucker heran. Das ginge mit Bordmitteln meiner Meinung nach am einfachsten über die die Clients.
Haben leider kein FollowMe. Wenn man es direkt mit User-Bezug an den Printserver schicken könnte und der es auf die Drucker verteilt käme man wohl auch ohne Kennwort aus. So auf der Ebene würde ich über die Clients gehen, die die Dateien sich holen und drucken.
Anmeldung auf den Server:
Nein. Nur indirekt auf die Share, wo die Dateien zum Drucken liegen. Get-Childitem reicht unter PS ja völlig aus und wir haben munter alle Dateien lokal im Zugriff.
So meinte ich das.
Wenn die User am PC sitzen, wäre so ein lokaler Task der auf die Server-Dateien zugreift einfacher. Ohne Kennwort kann man dann einfach im User-Kontext auf die Dateien zugreifen.
Wenn Du die User hast, ginge es noch anders. Dateien vom Server auf die User-PCs verteilen und dann von dort drucken. Hatten wir hier mal vor Wochen diskutiert. Normal ist es schöner, wenn die Clients auf die Dateien zugreifen. Wie im Ersten Szenario beschrieben.
Wie liegen die Dateien denn dort vor? Wie differenziert man, welchen User die gehören? Ich habe ja oben darauf hingewiesen, dass man ggf. die PDF analysieren muss. PDFtoText und dann anhand von merken es durch Ordner oder andere PDF Namen den Usern zuzuordnen. Dann kommen die über das lokale Script nur an Ihre Dateien heran. Ordner basiert könnte man sogar über Berechtigungen nachdenken.
Komplett im Background halte ich für nicht zielführend. Der User-Kontext ist nicht da und wie soll dann FollowMe funktionieren?
Server:
- Print to Files (PDF)
- Metadaten/ PDF extrahieren und PS Struktur bauen
-- printed_files\<username>\xxxxx.pdf
Client:
- Normaler Task für den User
- Ggf. mit VBS, PS o.ä. aufpoppen des PowerShell Fensters unterdrücken
- im User-Kontext dann Get-ChildItem \\server\printed_files\<username>\
- Dann es an den Drucker schicken.
- Das es lokal ist und wir die User-Drucker alle haben müsste dann auch FollowMe greifen
So hatte ich mir das vorgestellt.
Dateien "abholen" und ablegen kann ein Background/ Servertask sein. Du musst aber ja die Zuordnung herstellen und dann an die Drucker heran. Das ginge mit Bordmitteln meiner Meinung nach am einfachsten über die die Clients.
Haben leider kein FollowMe. Wenn man es direkt mit User-Bezug an den Printserver schicken könnte und der es auf die Drucker verteilt käme man wohl auch ohne Kennwort aus. So auf der Ebene würde ich über die Clients gehen, die die Dateien sich holen und drucken.
Anmeldung auf den Server:
Nein. Nur indirekt auf die Share, wo die Dateien zum Drucken liegen. Get-Childitem reicht unter PS ja völlig aus und wir haben munter alle Dateien lokal im Zugriff.
So meinte ich das.