none
Powershell. Вывод в БД RRS feed

  • Вопрос

  • Добрый день!

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

    Foreach ($a in (gwmi Win32_Service -ComputerName $comp | Sort-Object -Property Caption))  {
            $service = $a.Caption 
            Write-Output "Service: $service"
            }

    Когда я вывожу "service:" , то все службы выводятся нормально. 

    а вот в БД пишется последняя служба из списка.

    подскажите, как мне все службы записать в БД

    Спасибо!

    15 августа 2014 г. 11:52

Ответы

  • Только надо учесть, что строка будет длинной.
    $service = (gwmi Win32_Service  -ComputerName $comp | Sort-Object -Property Caption | Select -Exp Caption) -join ","
    $sql.CommandText = "INSERT INTO log (Name,Service) VALUES ('$comp','$service')" 
    $sql.ExecuteNonQuery()

    • Помечено в качестве ответа Pelev1n 15 августа 2014 г. 12:39
    15 августа 2014 г. 12:18
    Отвечающий

Все ответы

  • Запись в базу должна быть в цикле foreach.

    Foreach ($a in (gwmi Win32_Service -ComputerName $comp | Sort-Object -Property Caption))  {
            $service = $a.Caption 
            $sql.CommandText = "INSERT INTO log (Name,Service) VALUES ('$comp','$service')" 
    		$sql.ExecuteNonQuery() 
    }

    15 августа 2014 г. 12:02
    Отвечающий
  • У меня похожий скрипт поиск групп, с которым Вы мне помогали, там не в цикле запись в БД группы пишутся полностью.

    Может как-то можно службы в строку вывести, и тогда будут они все записываться?

    UPD

    Если в цикле, то получается в базе неразбериха.

    • Изменено Pelev1n 15 августа 2014 г. 12:22
    15 августа 2014 г. 12:13
  • Только надо учесть, что строка будет длинной.
    $service = (gwmi Win32_Service  -ComputerName $comp | Sort-Object -Property Caption | Select -Exp Caption) -join ","
    $sql.CommandText = "INSERT INTO log (Name,Service) VALUES ('$comp','$service')" 
    $sql.ExecuteNonQuery()

    • Помечено в качестве ответа Pelev1n 15 августа 2014 г. 12:39
    15 августа 2014 г. 12:18
    Отвечающий