Ja utilizou estes metodos de Captura ?
'=======================================================================================================
' NAME: Monitora Impressoes - Verso Excel
'
' AUTHOR: Luana Celeida Rocha (com grande ajuda do site:
' http://www.microsoft.com/technet/scriptcenter/resources/qanda/default.mspx)
' DATE: 26/06/2008
'
' COMMENT: Este script deve ser colocado na inicializao do sistema, ele ira ficar em um loop
' monitoranto o spool a cada 5 segundos. Se alguma impressao for localizada seus dados sero registrados
' em uma planilha do excel em C:\ com o nome:
' "Impressoes_<NomedoComputador>_<NomedoDominio>_<yyyymmdd>_<HH>h<mm>m.xls
' Antes de colocar o script para rodar certifique-se que o usurio tenha permisso de gravao no C:\ ou
' altere o script para que o arquivo seja armazenado em um local onde o usurio tenha acesso.
' Todas as sugestes para melhoria deste script so muito bem vindas.
'
'=======================================================================================================
On Error Resume Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
'Vriaveis utilizadas para coletar dados da fila de impressao
Dim strComputer
Dim objWMIService
Dim propValue
Dim objItem
Dim SWBemlocator
Dim UserName
Dim Password
Dim colItems
'Variaveis utilizadas para nomeacao do arquivo com as impressoes
Dim datahj
Dim mes
Dim horario
Dim acertahora
Dim acertamin
Dim nomearquivo
'Pega data e hora do computador local
datahj = Date
horario = Time
'Verificacao para deixar o mes com 2 digitos
If Month(datahj) < 10 Then
mes = "0" & Month(datahj)
Else
mes = Month(datahj)
End If
'Verificacao para deixar a hora com 2 digitos
If Hour(horario) < 10 Then
acertahora = "0" & Hour(horario)
Else
acertahora = Hour(horario)
End If
'Verificacao para deixar os minutos com 2 digitos
If Minute(horario) < 10 Then
acertamin = "0" & Minute(horario)
Else
acertamin = Minute(horario)
End If
nomearquivo = "Impressoes_"&WshNetwork.ComputerName &"_" &WshNetwork.UserDomain &"_" &Year(datahj) &mes &Day(datahj) &"_" &acertahora &"h" &acertamin &"m"
'&WshNetwork.ComputerName & "_" & WshNetwork.UserDomain & "_"& Year(datahj) & mes & Day(datahj) &"_"& acertahora &"h" & acertamin &"m"
'Criando a planilha que ira armazenar os dados
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
objExcel.DisplayAlerts = False
intRow = 2 'Usado para informar que os dados comearo a ser armazenados a partir da segunda linha da planilha
'Cria titulo de cada coluna na primeira linha da planilha
objExcel.Cells(1, 1).Value = "Caption"
objExcel.Cells(1, 2).Value = "DataType"
objExcel.Cells(1, 3).Value = "Description"
objExcel.Cells(1, 4).Value = "Document"
objExcel.Cells(1, 5).Value = "DriverName"
objExcel.Cells(1, 6).Value = "ElapsedTime"
objExcel.Cells(1, 7).Value = "HostPrintQueue"
objExcel.Cells(1, 8).Value = "InstallDate"
objExcel.Cells(1, 9).Value = "JobId"
objExcel.Cells(1, 10).Value = "JobStatus"
objExcel.Cells(1, 11).Value = "Name"
objExcel.Cells(1, 12).Value = "Notify"
objExcel.Cells(1, 13).Value = "Owner"
objExcel.Cells(1, 14).Value = "PagesPrinted"
objExcel.Cells(1, 15).Value = "Parameters"
objExcel.Cells(1, 16).Value = "PrintProcessor"
objExcel.Cells(1, 17).Value = "Priority"
objExcel.Cells(1, 18).Value = "Size"
objExcel.Cells(1, 19).Value = "StartTime"
objExcel.Cells(1, 20).Value = "Status"
objExcel.Cells(1, 21).Value = "StatusMask"
objExcel.Cells(1, 22).Value = "TimeSubmitted"
objExcel.Cells(1, 23).Value = "TotalPages"
objExcel.Cells(1, 24).Value = "UntilTime"
'Colunas do Excel que sero utilizadas
Set objRange = objExcel.Range("A1","X1")
objRange.Font.Size = 10
objRange.Interior.ColorIndex = 15
strComputer = "."
UserName = ""
Password = ""
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
'Informando que ser verificada a fila de impressao a cada 5 segundos
Set colPrintJobs = objWMIService. _
ExecNotificationQuery("Select * From __InstanceCreationEvent " _
& "Within 5 Where TargetInstance ISA 'Win32_PrintJob'")
'Loop infinito, enquanto a maquina estiver ligada a fila de impressao ser monitorada a cada 5 segundos
Do While True
Set objPrintJob = colPrintJobs.NextEvent
objExcel.Cells(intRow, 1).Value = objPrintJob.TargetInstance.Caption
objExcel.Cells(intRow, 2).Value = objPrintJob.TargetInstance.DataType
objExcel.Cells(intRow, 3).Value = objPrintJob.TargetInstance.Description
objExcel.Cells(intRow, 4).Value = objPrintJob.TargetInstance.Document
objExcel.Cells(intRow, 5).Value = objPrintJob.TargetInstance.DriverName
objExcel.Cells(intRow, 6).Value = objPrintJob.TargetInstance.ElapsedTime
objExcel.Cells(intRow, 7).Value = objPrintJob.TargetInstance.HostPrintQueue
objExcel.Cells(intRow, 8).Value = objPrintJob.TargetInstance.InstallDate
objExcel.Cells(intRow, 9).Value = objPrintJob.TargetInstance.JobId
objExcel.Cells(intRow, 10).Value = objPrintJob.TargetInstance.JobStatus
objExcel.Cells(intRow, 11).Value = objPrintJob.TargetInstance.Name
objExcel.Cells(intRow, 12).Value = objPrintJob.TargetInstance.Notify
objExcel.Cells(intRow, 13).Value = objPrintJob.TargetInstance.Owner
objExcel.Cells(intRow, 14).Value = objPrintJob.TargetInstance.PagesPrinted
objExcel.Cells(intRow, 15).Value = objPrintJob.TargetInstance.Parameters
objExcel.Cells(intRow, 16).Value = objPrintJob.TargetInstance.PrintProcessor
objExcel.Cells(intRow, 17).Value = objPrintJob.TargetInstance.Priority
objExcel.Cells(intRow, 18).Value = objPrintJob.TargetInstance.Size
objExcel.Cells(intRow, 19).Value = objPrintJob.TargetInstance.StartTime
objExcel.Cells(intRow, 20).Value = objPrintJob.TargetInstance.Status
objExcel.Cells(intRow, 21).Value = objPrintJob.TargetInstance.StatusMask
objExcel.Cells(intRow, 22).Value = objPrintJob.TargetInstance.TimeSubmitted
objExcel.Cells(intRow, 23).Value = objPrintJob.TargetInstance.TotalPages
objExcel.Cells(intRow, 24).Value = objPrintJob.TargetInstance.UntilTime
intRow = intRow + 1
'Arquivo onde dos dados sero salvos
objWorkbook.SaveAs "C:\"&nomearquivo
Loop
'=======================================================================================================
' NAME: Monitora Impressoes - Verso Txt
'
' AUTHOR: Luana Celeida Rocha (com grande ajuda do site:
' http://www.microsoft.com/technet/scriptcenter/resources/qanda/default.mspx)
' DATE: 26/06/2008
'
' COMMENT: Este script deve ser colocado na inicializao do sistema, ele ira ficar em um loop
' monitoranto o spool a cada 5 segundos. Se alguma impressao for localizada seus dados sero registrados
' em um arquivo de texto, com valores separados por ; em C:\ com o nome:
' "Impressoes_<NomedoComputador>_<NomedoDominio>_<yyyymmdd>_<HH>h<mm>m.txt
' Antes de colocar o script para rodar certifique-se que o usurio tenha permisso de gravao no C:\ ou
' altere o script para que o arquivo seja armazenado em um local onde o usurio tenha acesso.
' Todas as sugestes para melhoria deste script so muito bem vindas.
'
'=======================================================================================================
On Error Resume Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
'Vriaveis utilizadas para coletar dados da fila de impressao
Dim strComputer
Dim objWMIService
Dim propValue
Dim objItem
Dim SWBemlocator
Dim UserName
Dim Password
Dim colItems
'Variaveis utilizadas para nomeacao do arquivo com as impressoes
Dim datahj
Dim mes
Dim horario
Dim acertahora
Dim acertamin
Dim nomearquivo
'Pega data e hora do computador local
datahj = Date
horario = Time
'Verificacao para deixar o mes com 2 digitos
If Month(datahj) < 10 Then
mes = "0" & Month(datahj)
Else
mes = Month(datahj)
End If
'Verificacao para deixar a hora com 2 digitos
If Hour(horario) < 10 Then
acertahora = "0" & Hour(horario)
Else
acertahora = Hour(horario)
End If
'Verificacao para deixar os minutos com 2 digitos
If Minute(horario) < 10 Then
acertamin = "0" & Minute(horario)
Else
acertamin = Minute(horario)
End If
nomearquivo = "Impressoes_"&WshNetwork.ComputerName &"_" &WshNetwork.UserDomain &"_" &Year(datahj) &mes &Day(datahj) &"_" &acertahora &"h" &acertamin &"m"
'&WshNetwork.ComputerName & "_" & WshNetwork.UserDomain & "_"& Year(datahj) & mes & Day(datahj) &"_"& acertahora &"h" & acertamin &"m"
'Criando o arquivo de texto que ira armazenar os dados
Set Fso = CreateObject("Scripting.FileSystemObject")
Set OFile = Fso.CreateTextFile("C:\"&nomearquivo&".txt", 2)
'Cria titulo de cada coluna na primeira linha da planilha
OFile.WriteLine("Caption; DataType; Description; Document; DriverName; ElapsedTime; HostPrintQueue; InstallDate; " _
& "JobId; JobStatus; Name; Notify; Owner; PagesPrinted; Parameters; PrintProcessor; Priority; Size; StartTime; " _
& "Status; StatusMask; TimeSubmitted; TotalPages; UntilTime")
strComputer = "."
UserName = ""
Password = ""
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
'Informando que ser verificada a fila de impressao a cada 5 segundos
Set colPrintJobs = objWMIService. _
ExecNotificationQuery("Select * From __InstanceCreationEvent " _
& "Within 5 Where TargetInstance ISA 'Win32_PrintJob'")
'Loop infinito, enquanto a maquina estiver ligada a fila de impressao ser monitorada a cada 5 segundos
Do While True
Set objPrintJob = colPrintJobs.NextEvent
OFile.WriteLine(objPrintJob.TargetInstance.Caption &";" _
&objPrintJob.TargetInstance.DataType &";" _
&objPrintJob.TargetInstance.Description &";" _
&objPrintJob.TargetInstance.Document &";" _
&objPrintJob.TargetInstance.DriverName &";" _
&objPrintJob.TargetInstance.ElapsedTime &";" _
&objPrintJob.TargetInstance.HostPrintQueue &";" _
&objPrintJob.TargetInstance.InstallDate &";" _
&objPrintJob.TargetInstance.JobId &";" _
&objPrintJob.TargetInstance.JobStatus &";" _
&objPrintJob.TargetInstance.Name &";" _
&objPrintJob.TargetInstance.Notify &";" _
&objPrintJob.TargetInstance.Owner &";" _
&objPrintJob.TargetInstance.PagesPrinted &";" _
&objPrintJob.TargetInstance.Parameters &";" _
&objPrintJob.TargetInstance.PrintProcessor &";" _
&objPrintJob.TargetInstance.Priority &";" _
&objPrintJob.TargetInstance.Size &";" _
&objPrintJob.TargetInstance.StartTime &";" _
&objPrintJob.TargetInstance.Status &";" _
&objPrintJob.TargetInstance.StatusMask &";" _
&objPrintJob.TargetInstance.TimeSubmitted &";" _
&objPrintJob.TargetInstance.TotalPages &";" _
&objPrintJob.TargetInstance.UntilTime)
Loop
Se funcionar avise e .vbs