# MySQL kapcsolati adatok # Install-PackageProvider -Name NuGet -Force # Register-PackageSource -Name NuGet -Location https://www.nuget.org/api/v2/ -ProviderName NuGet -Trusted # Install-Package MySql.Data -Force # Oder : https://dev.mysql.com/downloads/connector/net/ $mysqlServer = "localhost" # vagy a szerver IP/cím $mysqlDatabase = "rdp_log" # az adatbázis neve $mysqlUser = "rdplog" # felhasználónév $mysqlPassword = "Test123#" # jelszó # Forrás és célmappa $sourceFolder = "C:\RdpLog\Logs" # a mappa, ahol a CSV fájlok vannak $destinationFolder = "C:\RdpLog\Archive" # a mappa, ahova áthelyezzük a feldolgozott fájlokat # MySQL kapcsolódás Add-Type -Path "C:\Program Files\PackageManagement\NuGet\Packages\MySql.Data.9.4.0\lib\net9.0\MySql.Data.dll" # cseréld le a valós útvonalra! $connection = New-Object MySql.Data.MySqlClient.MySqlConnection $connection.ConnectionString = "server=$mysqlServer;database=$mysqlDatabase;uid=$mysqlUser;pwd=$mysqlPassword;" $connection.Open() # Minden CSV fájl feldolgozása Get-ChildItem -Path $sourceFolder -Filter "*.csv" | ForEach-Object { $csvPath = $_.FullName $csvData = Import-Csv -Path $csvPath -Delimiter "," -Encoding UTF8 Write-Host "Feldolgozás alatt: $csvPath" # Adatok feltöltése az adatbázisba foreach ($row in $csvData) { $query = "INSERT INTO rdplog (ServerName, LogName, EventID, SessionID, Ursachencode, Level, UserName, Message, TimeCreated) VALUES (@ServerName, @LogName, @EventID, @SessionID, @Ursachencode, @Level, @UserName, @Message, @TimeCreated)" $command = New-Object MySql.Data.MySqlClient.MySqlCommand($query, $connection) # Paraméterek hozzáadása $command.Parameters.AddWithValue("@ServerName", $row.ServerName) | Out-Null $command.Parameters.AddWithValue("@LogName", $row.LogName) | Out-Null $command.Parameters.AddWithValue("@EventID", $row.EventID) | Out-Null $command.Parameters.AddWithValue("@SessionID", $row.SessionID) | Out-Null $command.Parameters.AddWithValue("@Ursachencode", $row.Ursachencode) | Out-Null $command.Parameters.AddWithValue("@Level", $row.Level) | Out-Null $command.Parameters.AddWithValue("@UserName", $row.UserName) | Out-Null $command.Parameters.AddWithValue("@Message", $row.Message) | Out-Null # TimeCreated átalakítása (ha szükséges) $timeCreated = [datetime]::ParseExact($row.TimeCreated, "dd.MM.yyyy HH:mm:ss", $null) $command.Parameters.AddWithValue("@TimeCreated", $timeCreated) | Out-Null # Lekérdezés végrehajtása $command.ExecuteNonQuery() | Out-Null } # Fájl áthelyezése a célmappába Move-Item -Path $csvPath -Destination $destinationFolder -Force Write-Host "Fájl áthelyezve: $csvPath -> $destinationFolder" } # Kapcsolat bezárása $connection.Close() Write-Host "Minden fájl sikeresen feldolgozva és áthelyezve!"