Используем установленный MYSQL Connector и Powershell скрипт:
Powershell(скрипт под катом):
Add-Type -Path 'C:\Program Files (x86)\MySQL\MySQL Connector Net 6.10.5\Assemblies\v4.5.2\MySql.Data.dll'
$dest='MOSCOW'
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString='server=192.168.0.200;uid=dbuser;pwd=password;database=printlogs;charset=utf8'}
$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
#$datetime = (Get-Date -Format 'yyyyMMddHHmmss' -Second 00 )
$start_day = (Get-date -Minute 00 -Second 00).AddHours(-1)
$end_day = (Get-date -Minute 00 -Second 00 )
$events = Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-PrintService/Operational";
StartTime=$start_day; EndTime = $end_day; ID = 307} | foreach{
New-Object PSobject -Property @{
Time_Created = $_.TimeCreated
Document_Number = $_.Properties[0].value
UserID= $_.Properties[2].value
Printer= $_.Properties[4].value
PagesCount = $_.Properties[7].value
}
} | Sort-Object userid
$events |select Time_Created,UserId, Printer, PagesCount,Document_Number | Group UserId, Printer| Foreach {
Foreach ($gr in $_.Group){
$dd=($gr | select Time_Created,UserId, Printer,PagesCount)
$Time_Created = $dd.Time_Created
$user=$dd.UserID
$Printer=$dd.Printer
$PageCount=$dd.PagesCount
$Time_Created=$Time_Created.ToString("yyyyMMddHHmmss")
$sql.CommandText = "INSERT INTO Logs (users,printer,pagecount,datetime,dest) VALUES ('$user', '$Printer','$PageCount', ' $Time_Created','$dest')"
$sql.ExecuteNonQuery()
}
}
$Connection.Close()
В mysql создаем таблицу:
CREATE TABLE `Logs` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`users` CHAR(200) NULL DEFAULT NULL COLLATE 'utf8_bin',
`printer` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8_bin',
`pagecount` INT(11) NULL DEFAULT NULL,
`datetime` DATETIME NULL DEFAULT NULL,
`dest` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8_bin',
PRIMARY KEY (`id`)
)
COLLATE='utf8_bin'
ENGINE=InnoDB
AUTO_INCREMENT=303
;
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии