Jump to content

Brainwalk

Members
  • Gesamte Inhalte

    31
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt 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. 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?

  5. 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...