none
powershell и mysql RRS feed

  • Вопрос

  • Коллеги помогите пожалуйста.

    Вопрос, нужно вогнать данные в mysql .Ситуация  в том, я выполнил первые шаги:

    -создал таблицу в базе.

    -подключился к базе через powerhell,все работает.

    А сама загвоздка, скорее в сторону языка powershell,как мне вывод результата командалета разбить построчно,т.е вывел он ряд строк

    Get-WinEvent -logname system -MaxEvents 3 | Format-Wide -Property providername -Column1

    Он вывел три события по столбцу источник из журнала система:

    Microsoft-Windows-Kerberos-Key-Distribution-Center
    Microsoft-Windows-Kernel-General
    EventLog

    И за-за этого, когда данные вставляешь в таблицу, получается в строку определенного столбца таблицы, вставляются все три значения .

    Как сделать, что бы каждое событие было в отдельной строке,а не три события в одной строке как на данный момент у меня получается

    Add-Type -Path "C:\Program
    Files (x86)\MySQL\MySQL Connector Net
    6.8.3\Assemblies\v2.0\MySql.Data.dll"
     

    $connectionString = "server=localhost;uid=root;pwd=mat;database=events;Character Set=utf8;"

    $connection=New-Object MySql.Data.MySqlClient.MySqlConnection

    $connection.ConnectionString = $connectionString

    $connection.Open()

    $sql =New-Object MySql.Data.MySqlClient.MySqlCommand

    $sql.Connection = $connection

    $test= Get-WinEvent -logname system  -MaxEvents 3 | Format-Wide -Property providername -Column 1  | Out-String

    $sql.CommandText = "insert into test (id,messages) values ('','$test')"

    $sql.ExecuteNonQuery()

    ......................

    Заранее спасибо )))



    • Изменено fordis 16 февраля 2014 г. 20:16
    16 февраля 2014 г. 20:13

Ответы

  • $test= Get-WinEvent -logname system  -MaxEvents 3 
    $test | Foreach {$i=0} {
    	$sql.CommandText = "insert into test (id,messages) values ('$i','$($_.providername)')"
    	$sql.ExecuteNonQuery()
    	$i++
    }

    • Предложено в качестве ответа Vector BCOModerator 17 февраля 2014 г. 8:52
    • Помечено в качестве ответа KazunEditor 26 февраля 2014 г. 8:13
    17 февраля 2014 г. 4:54
    Отвечающий