Логирование сервера печати MS WINDOWS в MYSQL базу данных

Используем установленный 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
;

 

Теги