Jump to content

Brainwalk

Members
  • Gesamte Inhalte

    31
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Brainwalk

  1. Du kannst auch das mal versuchen: "Select * from Win32_NTEventLogFile where LogFileName='System' and EventCode=307" Hab zwar keinen 2008 R2 hier, aber du müsstest dir unter den Details der Events ja auch die XML-Ansicht anzeigen lassen, da kann man sehen wie die Einträge im Log erfolgen und wie die Parameter heißen. Vielleicht kann das noch helfen: Event ID 307 ? Print Job Status
  2. Das Ganze sieht jetzt so aus :): Private Function ReadEvents(Optional CompName As String = ".", _ Optional SheetName As String = "Eventlogdaten", _ Optional UserName As String = "", _ Optional UserPass As String = "") As Integer Dim printEvents As Object Dim printEvent As Variant Dim EventData As Collection Dim EventStructure As String Dim objSWbemLocator As Object Dim objWMIService As Object Dim myWS As Worksheet Dim offset As Long Set myWS = Worksheets(SheetName) Worksheets(SheetName).Range("A:I").ClearContents On Error GoTo ErrHand Application.StatusBar = "Initializing WMI..." Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objSWbemLocator.ConnectServer(CompName, "\root\cimv2", UserName, UserPass) Application.StatusBar = "Querying destination Event Log..." Set printEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent WHERE EventCode=10 And SourceName='Microsoft-Windows-PrintSpooler'") On Error GoTo 0 myWS.Cells(1, 1) = "Zeitpunkt" myWS.Cells(1, 2) = "Zeitquantum" myWS.Cells(1, 3) = "Dokumentnummer" myWS.Cells(1, 4) = "Dokumentname" myWS.Cells(1, 5) = "Besitzer" myWS.Cells(1, 6) = "Anschluss" myWS.Cells(1, 7) = "Drucker" myWS.Cells(1, 8) = "Größe" myWS.Cells(1, 9) = "Seiten" offset = 2 Application.StatusBar = "Processing events..." For Each printEvent In printEvents myWS.Cells(offset, 1) = DateValue(Format$( _ Left$(printEvent.TimeGenerated, 14), _ "&&&&-&&-&& &&:&&:&&")) + _ TimeValue(Format$( _ Left$(printEvent.TimeGenerated, 14), _ "&&&&-&&-&& &&:&&:&&")) myWS.Cells(offset, 2).Formula = "=Date(Year(A" & offset & ")," _ & "Month(A" & offset & "),1)" myWS.Cells(offset, 3) = CLng(printEvent.InsertionStrings(0)) myWS.Cells(offset, 4) = "'" & printEvent.InsertionStrings(1) myWS.Cells(offset, 5) = "'" & printEvent.InsertionStrings(2) myWS.Cells(offset, 6) = "'" & printEvent.InsertionStrings(4) myWS.Cells(offset, 7) = "'" & printEvent.InsertionStrings(3) myWS.Cells(offset, 8) = CLng(printEvent.InsertionStrings(5)) myWS.Cells(offset, 9) = CLng(printEvent.InsertionStrings(6)) offset = offset + 1 If (offset - 2) Mod 100 = 0 Then Application.StatusBar = offset - 2 & " Events processed..." End If Next Application.StatusBar = "Done processing " & offset - 2 & " events" ReadEvents = 0 Exit Function ErrHand: MsgBox "Bei der Verarbeitung der WMI-Abfrage ist ein Fehler aufgetreten:" & vbCrLf & _ Err.Description, vbExclamation, "Fehler bei Verarbeitung" ReadEvents = -1 End Function
  3. Besten Dank samsam, die Links hatten den entscheidenden Tip: Set printEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent WHERE EventCode=10 And SourceName='Microsoft-Windows-PrintSpooler'") Jetzt kann ich wieder schön in einer Excel Tabelle mit Grafiken sehen, wieviel auf einem Drucker je Monat gedruckt wurde, wieviel jeder Mitarbeiter gedruckt hat und auf welchem Drucker er geduckt hat. :D
  4. Nur leider funktioniert eine Änderung auf: Set printEvents = objWMIService.ExecQuery _ ("SELECT * FROM Win32_NTEventLogFile " _ & "WHERE LogfileName = 'System' " _ & "AND SourceName = 'PrintSpooler'" _ & "AND EventCode=10") ... dann gar nicht mehr!
  5. Der User ist Domainadmin. Es kommt bei der Abfrage auch keine Fehlermeldung, d.h. der WMI-Zugriff scheint noch zu funktionieren. Es werden nur keine Events zurückgegeben. Nach dem hier: http://www.mcseboard.de/windows-forum-scripting-71/eventlog-abholung-windws-server-2008-a-143508.html scheinen sich ja die Filenames komplett geändert zu haben. :confused:
  6. Hallo, unsere Mitarbeiter arbeiten auf Terminalservern auf denen Outlook 2003 installiert ist. Diese greifen auf einen Exchange 2007 zu. Einige Mitarbeiter müssen Termine in öffentlichen Kalender einstellen und dazu auch eine Besprechungsanfrage an mehrere Teilnehmer verschicken. Werden Besprechungen im eigenen Kalender eingestellt, kann man beim Einladen der Teilnehmer unter 'Aktionen' die Haken bei "Bitte um Antwort" und bei "Vorschläge für Besprechungszeit zulassen" rausnehmen. Bei Besprechungen die in Öffentlichen Ordnern bereitgestellt werden sind die Punkte gar nicht unter 'Aktionen' zu finden. Ich hab's jetzt auch mal mit nem Outlook 2003 versucht was nicht über nen TS läuft, da tritt das Problem auch auf. Nehm ich allerdings nen Outlook 2007 hab ich die beiden 'Aktionen' wieder. Gibt es da Gruppenrichtlinien, die sowas beschränken? Unter welchem Punkt find ich die im Gruppenrichtlinieneditor eigentlich für Office/Outlook? Oder ist das nen Problem auf dem Exchange. An den Rechten auf dem öffentlichen Ordner kann es nicht liegen, ich bin schon als Besitzer eingetragen. Hat jemand eine Idee woran das liegt?
  7. Hi Leute, ich habe in einer Excel Tabelle Makros, mit deren Hilfe das EventLog eines MS Server 2003 den wir als Print-Server laufen hatten abgefragt wurde, um somit das Druckvolumen auszuwerten (je Drucker, je Mitarbeiter, usw.). Jetzt wurde der Server auf MS Server 2008 umgestellt und die Abfrage der EventLogs klappt nicht mehr, kann mir da vielleicht jemand helfen. Der alte Aufruf sah so aus: Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objSWbemLocator.ConnectServer(CompName, "\root\cimv2", UserName, UserPass) Set printEvents = objWMIService.ExecQuery _ ("SELECT * FROM Win32_NTLogEvent " _ & "WHERE Logfile = 'System' " _ & "AND SourceName = 'Print'" _ & "AND EventCode=10") Wie müsste das jetzt aussehen? Besten Dank.
×
×
  • Neu erstellen...