Vor einer Umstellung oder auch einer Abschaltung eines Druckservers kann ein Audit der Druckdaten sinnvoll sein. Dabei wird ermittelt das Skript in den Parametern eines Zeitfensters, welcher Drucker wieviel Druckaufträge verarbeitet hat.
$Startzeit = "24.11.2018 00:00:00" $Endzeit = "24.11.2018 23:59:59" $ZentralDatei ="E:\Audit\Zentraldatei.csv" $Auswertung ="E:\Audit\Auswertung.csv" $Druckerliste = @() $Resultate = Get-WinEvent -FilterHashTable @{LogName="Microsoft-Windows-PrintService/Operational"; ID=307; StartTime=$Startzeit; EndTime=$Endzeit;} ForEach($Resultat in $Resultate){ $Datensatz = [xml]$Resultat.ToXml() $DatenDetails = New-Object -TypeName psobject -Property @{ Druckername = $Datensatz.Event.UserData.DocumentPrinted.Param5 Zeitstempel = $Resultat.TimeCreated } $Druckerliste += $DatenDetails } $Druckerliste | Export-Csv -LiteralPath $ZentralDatei -NoTypeInformation Import-Csv $ZentralDatei | Group-Object Druckername | Select-Object Name, Count | Sort-Object -Property name | Export-csv $Auswertung -NoTypeInformation
Das eingesetzte CMDlet „Get-WinEvent“ steht seit Windows Server 2008 R2 und späteren Betriebssystemen zur Verfügung.
Um die Daten zu erhalten, muss allerdings in der Ereignisanzeige das Log für „Microsoft \ Windows \ Printservices \ Operational“ aktiviert worden sein. Dieses sollte auch vorzeitig durchgeführt worden sein, um längere Zeiträume zu überwachen. Die Daten können nicht rückwirkend erstellt werden. Anbei die schnelle Umsetzung per PowerShell-Aufruf:
$EventLogging = Get-WinEvent -ListLog 'Microsoft-Windows-PrintService/Operational' $EventLogging.IsEnabled = $true $EventLogging.MaximumSizeInBytes = 1000000 $Eventlogging.LogMode = "Circular" $EventLogging.SaveChanges()
Mit diesem Befehlssatz wird das erforderliche Eintrag in der Ereignisanzeige aktiviert. Dabei wird ein 1 GigaByte großes Log erstellt. Wenn der Schwellwert erreicht ist, wird beim Hinzufügen eines neuen Ereignisses das Älteste entfernt.
In der Datei „Auswertung.csv“ stehen dann die Druckernamen sowie die Anzahl der Ausdrucke im Zeitraum ausgedruckt wurden.