Server 2012 R2: Wie die Ausgabe von Druckaufträgen zeitlich verzögern?
Guten Abend!
Ich habe bereits einige Foren gewälzt, aber so wirklich vermag ich keine Lösung zu finden:
Wie kann ich die Ausgabe von Druckaufträgen über Windows Server 2012 R2 zeitlich verzögern?
Es ist gefordert, dass jeder Druckauftrag erst nach 15 Minuten ausgeführt wird.
Beste Grüße
Jan
Ich habe bereits einige Foren gewälzt, aber so wirklich vermag ich keine Lösung zu finden:
Wie kann ich die Ausgabe von Druckaufträgen über Windows Server 2012 R2 zeitlich verzögern?
Es ist gefordert, dass jeder Druckauftrag erst nach 15 Minuten ausgeführt wird.
Beste Grüße
Jan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 270180
Url: https://administrator.de/forum/server-2012-r2-wie-die-ausgabe-von-druckauftraegen-zeitlich-verzoegern-270180.html
Ausgedruckt am: 22.04.2025 um 02:04 Uhr
7 Kommentare
Neuester Kommentar

Moin,
das ließe sich z.B. mit einem Powershell Script machen, welches die Printjobs via WMI-Eventsubscriber überwacht und dann pausiert und in einem Array mit der Zeit speichert. Das Script prüft dann regelmäßig das Array und gibt über das CMDLet Resume-Job den Druckauftrag zum gewünschten Zeitpunkt wieder frei.
Wäre also machbar, schätze so max. 20-30 Zeilen Code.
Gruß jodel32
das ließe sich z.B. mit einem Powershell Script machen, welches die Printjobs via WMI-Eventsubscriber überwacht und dann pausiert und in einem Array mit der Zeit speichert. Das Script prüft dann regelmäßig das Array und gibt über das CMDLet Resume-Job den Druckauftrag zum gewünschten Zeitpunkt wieder frei.
Wäre also machbar, schätze so max. 20-30 Zeilen Code.
Gruß jodel32
Zitat von @114757:
das ließe sich z.B. mit einem Powershell Script machen
Hallo itsklave, Willkommen auf Administrator.de!das ließe sich z.B. mit einem Powershell Script machen
Das könnte dann nach @114757 's Muster etwa aussehen (ohne Funktionsgarantie da ungefähr aus dem Kopf skizziert, werde das beizeiten mal testen):
# Zeit in Minuten nach dem ein Druckjob freigegeben wird (Berechnungsgrundlage ist die Win32_Printjob Eigenschaft 'TimeSubmitted')
$time = 15
# EventSubscriber löschen falls vorhanden
get-EventSubscriber | ?{$_.SourceIdentifier -eq "printwatcher"} | Unregister-Event -Force
# Alle Drucker anhalten (pausieren)
gwmi Win32_Printer | %{$_.Pause() | out-null}
$action = {
$job = $event.SourceArgs.NewEvent.TargetInstance
$jobID = $job.JobID
# neue Druck-Jobs pausieren
gwmi Win32_Printjob -Filter "JobID = '$jobID'" | %{$_.Pause()}
}
# Event Subscriber registieren
register-wmievent -query "Select * From __InstanceCreationEvent within .1 Where TargetInstance ISA 'Win32_printjob'" -action $action -sourceidentifier "printwatcher" | out-null
Write-Host "Warte auf neue Print-Jobs" -ForegroundColor Green
# Schleife die die PrintJobs je nach Übermittlungszeit freigibt
While($true){
gwmi Win32_Printjob | ?{$_.ConvertToDateTime($_.TimeSubmitted) -le (get-date).AddMinutes(-$time) -and $_.StatusMask -band 0x1} | %{
try{
# Druckername des Jobs extrahieren
$printer = $_.Name.split(",")
write-host "Gebe Druckjob mit der ID '$($_.JobID)' auf Drucker '$printer' zum Druck frei"
# Drucker wieder aus der Pause holen
gwmi Win32_Printer -Filter "Name = '$printer'" | %{$_.Resume()|out-null}
# Druckjob wieder aufnehmen
$_.Resume() | out-null
# Drucker wieder anhalten
gwmi Win32_Printer -Filter "Name = '$printer'" | %{$_.Pause()|out-null}
}catch {
write-host $_.Exception.Message -ForegroundColor Red
}
}
# Pause (s) zwischen den Überprüfungen der angehaltenen Printjobs
sleep(5)
}
Moin.
Mir ist zwar nicht klar, was 15 Minuten Verzögerung am Verhalten der Mitarbeiter ändern sollen, aber wenn das ganze mehr als einen Drucker/einen Standort betrifft, würde ich mir mal sog. "Follow-Me-Printing"-Systeme anschauen wie z.B. PaperCut.
Grob gesagt sieht das so aus: Es gibt nur noch eine (virtuelle) Druckerwarteschlange (oder zwei, z.B. eine für Farbdrucke und eine für S/W), die steht per default auf "Hold", es wird nichts direkt gedruckt. Das ganze lässt sich dann mit einer Authentifizierung versehen, so daß User A nach Eingabe seiner PIN (Vorhalten seiner SmartCard, ....) seine Druckaufträge an einem beliebigen Drucker rauslassen kann. "Nebenbei" lassen sich damit prima Statistiken über Druckverhalten und -verbräuche erstellen und so einiges mehr....
Wir setzen das an einem unserer Standorte ein, nach anfänglichem Ungemach (der Mensch ist ein Gewohnheitstier) klappt das mittlerweile prima und der Papierverbrauch ist deutlich gesunken. Die Vorhaltezeit, die "gedruckte" Dokumente auf dem Server gehalten werden, lässt sich dabei variabel einstellen; wir haben 240 Minuten eingestellt - hast du also etwas gedruckt und nicht binnen vier Stunden am Drucker rausgelassen und abgeholt, wird der Druck automatisch gelöscht.
Kombiniert man so etwas mit Printer-Defaults wie doppelseitigem Druck ist die Papierersparnis doch sehr groß.
Cheers,
jsysde
Zitat von @itsklave:
Diese Zwangspause soll die Mitarbeiterinnen und Mitarbeiter dazu bewegen, erst zu überlegen, ob ein Dokument wirklich
gedruckt werden muss.
Diese Zwangspause soll die Mitarbeiterinnen und Mitarbeiter dazu bewegen, erst zu überlegen, ob ein Dokument wirklich
gedruckt werden muss.
Mir ist zwar nicht klar, was 15 Minuten Verzögerung am Verhalten der Mitarbeiter ändern sollen, aber wenn das ganze mehr als einen Drucker/einen Standort betrifft, würde ich mir mal sog. "Follow-Me-Printing"-Systeme anschauen wie z.B. PaperCut.
Grob gesagt sieht das so aus: Es gibt nur noch eine (virtuelle) Druckerwarteschlange (oder zwei, z.B. eine für Farbdrucke und eine für S/W), die steht per default auf "Hold", es wird nichts direkt gedruckt. Das ganze lässt sich dann mit einer Authentifizierung versehen, so daß User A nach Eingabe seiner PIN (Vorhalten seiner SmartCard, ....) seine Druckaufträge an einem beliebigen Drucker rauslassen kann. "Nebenbei" lassen sich damit prima Statistiken über Druckverhalten und -verbräuche erstellen und so einiges mehr....
Wir setzen das an einem unserer Standorte ein, nach anfänglichem Ungemach (der Mensch ist ein Gewohnheitstier) klappt das mittlerweile prima und der Papierverbrauch ist deutlich gesunken. Die Vorhaltezeit, die "gedruckte" Dokumente auf dem Server gehalten werden, lässt sich dabei variabel einstellen; wir haben 240 Minuten eingestellt - hast du also etwas gedruckt und nicht binnen vier Stunden am Drucker rausgelassen und abgeholt, wird der Druck automatisch gelöscht.
Kombiniert man so etwas mit Printer-Defaults wie doppelseitigem Druck ist die Papierersparnis doch sehr groß.
Cheers,
jsysde