En primer lugar, crear el script que se conecta a una base de datos de MySQL y hace una consulta para ver si existe un elemento dentro de una tabla, si existe se encarga de enviar un mail
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data") $Connection = New-Object MySql.Data.MySqlClient.MySqlConnection $ConnectionString = "server=" + "localhost" + ";port=3306;uid=" + "root" + ";pwd=" + "root" + ";database="+"world" $Connection.ConnectionString = $ConnectionString $Connection.Open() $Query='select name from city' $Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection) $DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command) $DataSet = New-Object System.Data.DataSet $RecordCount = $dataAdapter.Fill($dataSet, "data") $elemento='Gaza' $DataSet.Tables[0].Rows.name | %{if($_ | Select-String $elemento) { 'Existe el elemento en la tabla' #Utilizar un servidor SMTP por ejemplo https://www.jesusninoc.com/2015/01/12/instalar-hmailserver-imap-smtp-y-pop3/ Send-MailMessage -to "[email protected]" -from "[email protected]" -subject "Existe el elemento en la tabla" -SmtpServer localhost -Body $elemento } } $Connection.Close() |
En segundo lugar crear una tarea programada que llama al script
1 2 3 |
$action=New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -command D:\mysqlmail.ps1' $trigger=New-ScheduledTaskTrigger -Daily -At 9am Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "TareaProgramada" -Description "Comprobación de valor" |