none
怎么让日志记录打印事件 RRS feed

  • 问题

  • 我发现XP对正常打印不会记录在日志里,怎么让他自动记录打印日志,我每天都会用脚本读取打印日志,以备日后查询。

    我的打印查询脚本如下:
    '获取日期  
    dtmThisDay = Day(Date)  
    dtmThisMonth = Month(Date)  
    dtmThisYear = Year(Date)  
    tmToday = dtmThisMonth & "/" & dtmThisDay & "/" & dtmThisYear  
    Logfile = dtmThisYear & "年" & dtmThisMonth & "月"  
     
     
    '设置日期  
    Const CONVERT_TO_LOCAL_TIME = True 
    Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")  
    Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")  
    DateToCheck = CDate(tmtoday)  
    dtmStartDate.SetVarDate DateToCheck-1, CONVERT_TO_LOCAL_TIME  
    dtmEndDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME  
     
    strserverComputer = "." 
    '测试远程计算机是否可用  
    strComputer = "PC1.microsoft.com.cn" 
    Set objWMIService = GetObject("winmgmts:" _  
        & "{impersonationLevel=impersonate}!\\" & strserverComputer & "\root\cimv2")  
    Set colPingedComputers = objWMIService.ExecQuery _  
        ("Select * from Win32_PingStatus Where Address = 'strComputer'")  
    For each objComputer in colPingedComputers  
        If objComputer.StatusCode = 0 Then  
            '查询日志  
        Set objWMIService = GetObject("winmgmts:" _  
                & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
        Set colLoggedEvents = objWMIService.ExecQuery _  
            ("Select * from Win32_NTLogEvent Where Logfile = 'system' AND EventCode = 10 AND SourceName = 'print' AND TimeWritten >='" & dtmStartDate & "' AND TimeWritten <'" & dtmEndDate & "'")  
     
     
        '写文本文件  
        Const ForAppending = 8 
        Set objFSO = CreateObject("Scripting.FileSystemObject")  
        Set objTextFile = objFSO.OpenTextFile _  
            ("E:\a\" & Logfile & ".txt", ForAppending, True, -1)  
        For Each objService in colLoggedEvents  
            objTextFile.WriteLine(objService.ComputerName & vbTab & objService.Message & vbTab & objService.RecordNumber & vbTab & Mid(objService.TimeWritten,1,4) & "/" & Mid(objService.TimeWritten,5,2) & "/" & Mid(objService.TimeWritten,7,2) & vbTab & Mid(objService.TimeWritten,9,2) & ":" & Mid(objService.TimeWritten,11,2) & ":" & Mid(objService.TimeWritten,13,2) & vbTab & objService.User)  
        Next  
        objTextFile.Close  
       End If  
    Next  
     
     
     
     
    2009年3月18日 5:02

答案

  • 启用或禁用打印事件的日志记录

    启用或禁用记录打印事件

    1. 打开“打印机和传真”。
    2. 在“文件”菜单上,单击“服务器属性”,然后单击“高级”选项卡。
    3. 要启用或禁用将打印后台处理程序信息事件写入系统日志文件,请选中或清除“记录后台打印程序错误事件”复选框。
    4. 要启用或禁用将打印后台处理程序警告事件写入系统日志文件,请选中或清除“记录后台打印程序警告事件”复选框。
    5. 要启用或禁用将打印后台处理程序信息事件写入系统日志文件,请选中或清除“记录后台打印程序信息事件”复选框。
    6. 停止并重新启动打印后台处理程序服务,或重新启动服务器。

    注意

    • To open Printers and Faxes, click Start, and then click Printers and Faxes.
    • 默认情况下,所有打印事件都会写入系统日志文件。如果想减少记录的数据量,可禁用记录信息事件。如果想进一步减少数据量,可禁用警告事件。不推荐禁用记录打印后台处理程序错误事件。

    早晨懒床,遂从口袋里掏出6枚硬币:如果抛出去六个都是正面,我就去上班!思躇良久,还是算了,别冒这个险!
    • 已标记为答案 shayulei 2009年4月23日 5:09
    2009年4月19日 4:54