|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Перебор выхода "tasklist" |
|
|
PowerShell - [решено] Перебор выхода "tasklist"
|
Новый участник Сообщения: 12 |
Доброго дня суток!
Появилась надобность получать список запущенных процессов в системе Win, собственно что и делаю через выхлоп После надо разложить содержимое для LLD (Low Level Discovery) к виду: echo {"data": echo [ echo {"{#PNAME}":"##1","{#PNAME}":"##2","{#PNAME}":"##3","{#PNAME}":"##n"} echo ] echo } P.S.: скрипт нужен для мониторинга процессов в zabbix, так, к слову. |
|
Отправлено: 21:46, 15-03-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, например:
Скрытый текст
popovichan, Вы уверены, что Вам нужен именно указанный, а не такой: формат? |
Отправлено: 08:02, 16-03-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Скрытый текст
@echo off echo @echo off > c:\zabbix\disks\disks.cmd echo echo {"data": >> c:\zabbix\disks\disks.cmd echo echo [ >> c:\zabbix\disks\disks.cmd for /F "tokens=1,3" %%a in ('C:\"Program Files"\smartmontools\bin\smartctl.exe --scan') ^ do (for %%s in ("Device Model" "Product") ^ do (for /F "tokens=2*" %%c in ('C:\"Program Files"\smartmontools\bin\smartctl.exe -i %%a -d %%b ^| find %%s ') ^ do (for %%i in ("Serial Number") do (for /F "tokens=3*" %%k in ('C:\"Program Files"\smartmontools\bin\smartctl.exe -i %%a -d %%b ^| find %%i ') ^ do echo echo {"{#DISKPORT}":"%%a","{#DISKTYPE}":"%%b","{#DISKMODEL}":"%%d","{#DISKSN}":"%%k"},>> c:\zabbix\disks\disks.cmd)))) echo echo {"{#SMARTV}":"Smartctl 6.5"}>> c:\zabbix\disks\disks.cmd echo echo ] >> c:\zabbix\disks\disks.cmd echo echo } >> c:\zabbix\disks\disks.cmd Вывод "disk.cmd" Скрытый текст
Конструкция работает, осталось проверить на обнаружение (вывод). Еще заметил одну вещь, возможно ли за одно проверять на совпадение (несколько процессов имеют одинаковое название, если уже есть такое, что чтоб не добавлял) |
|
Последний раз редактировалось popovichan, 16-03-2017 в 12:18. Причина: Спойлеры и дополнение Отправлено: 11:59, 16-03-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата popovichan:
|
|
Отправлено: 12:39, 16-03-2017 | #4 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Фильтрация прошла успешно, вот только вывод без "echo" zabbix не понимает
![]() |
|
Отправлено: 12:46, 16-03-2017 | #5 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Да, Вы оказались правы, запись имеет именно такой вид, я не обратил внимание на то что в шалоне присутствует только разные "итемы" для поиска
|
Отправлено: 13:20, 16-03-2017 | #6 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Я немного изменил скрипт для получения удовлетворительного результата, и для правильной работы осталось только одна вещь
Скрытый текст
del 'c:\zabbix\scripts\process.cmd' ( "@echo off`r`necho`t{`r`n`echo`t`"data`":[`r`necho`t{" , ((Get-Process | Select-Object -Property ProcessName -Unique | ForEach-Object -Process {"`"{#PNAME}`":`"$($_.ProcessName)`"}"}) -join ",`{"), "`necho`t`]`r`necho`t`}" ) | Set-Content -Path 'C:\zabbix\scripts\process.cmd' на выходе получаю: Скрытый текст
@echo off echo { echo "data":[ echo { "{#PNAME}":"audiodg"},{"{#PNAME}":"CefSharp.BrowserSubprocess"},{"{#PNAME}":"chrome"},{"{#PNAME}":"CMFNSS6"},{"{#PNAME}":"conhost"},{"{#PNAME}":"csrss"},{"{#PNAME}":"cygrunsrv"},{"{#PNAME}":"Dual Package"},{"{#PNAME}":"dwm"},{"{#PNAME}":"explorer"},{"{#PNAME}":"FPinger"},{"{#PNAME}":"hkcmd"},{"{#PNAME}":"Idle"},{"{#PNAME}":"igfxpers"},{"{#PNAME}":"igfxsrvc"},{"{#PNAME}":"igfxtray"},{"{#PNAME}":"lsass"},{"{#PNAME}":"lsm"},{"{#PNAME}":"Mailbird"},{"{#PNAME}":"mmc"},{"{#PNAME}":"mqsvc"},{"{#PNAME}":"mtputty"},{"{#PNAME}":"notepad++"},{"{#PNAME}":"OpenHardwareMonitorService"},{"{#PNAME}":"OSPPSVC"},{"{#PNAME}":"powershell_ise"},{"{#PNAME}":"PresentationFontCache"},{"{#PNAME}":"putty"},{"{#PNAME}":"SearchIndexer"},{"{#PNAME}":"services"},{"{#PNAME}":"SmartHookTestApp"},{"{#PNAME}":"smss"},{"{#PNAME}":"SMSvcHost"},{"{#PNAME}":"snmp"},{"{#PNAME}":"splwow64"},{"{#PNAME}":"spoolsv"},{"{#PNAME}":"sshd"},{"{#PNAME}":"svchost"},{"{#PNAME}":"System"},{"{#PNAME}":"taskhost"},{"{#PNAME}":"TCPSVCS"},{"{#PNAME}":"TestDDCCI"},{"{#PNAME}":"vivaldi"},{"{#PNAME}":"vmware-usbarbitrator64"},{"{#PNAME}":"wininit"},{"{#PNAME}":"winlogon"},{"{#PNAME}":"WmiPrvSE"},{"{#PNAME}":"wmpnetwk"},{"{#PNAME}":"zabbix_agentd"} echo ] echo } необходимо чтоб после echo { "строка {#PNAME} шла сразу, а не с новой строки |
Отправлено: 14:07, 16-03-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата popovichan:
|
|
Отправлено: 14:15, 16-03-2017 | #8 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Если использую данную конструкцию то он ругается на отсутствие командлета JSON
|
Отправлено: 14:42, 16-03-2017 | #9 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Подправил скрипт, заработало, спасибо за помощь!
Решение: Скрытый текст
Вывод: Скрытый текст
@echo off
echo {"data":[ echo {"{#PNAME}":"audiodg.exe"}, echo {"{#PNAME}":"CefSharp.BrowserSubprocess.exe"}, echo {"{#PNAME}":"CMFNSS6.exe"}, echo {"{#PNAME}":"conhost.exe"}, echo {"{#PNAME}":"csrss.exe"}, echo {"{#PNAME}":"cygrunsrv.exe"}, echo {"{#PNAME}":"Dual Package.exe"}, echo {"{#PNAME}":"dwm.exe"}, echo {"{#PNAME}":"explorer.exe"}, echo {"{#PNAME}":"FPinger.exe"}, echo {"{#PNAME}":"hkcmd.exe"}, echo {"{#PNAME}":"Idle.exe"}, echo {"{#PNAME}":"igfxpers.exe"}, echo {"{#PNAME}":"igfxsrvc.exe"}, echo {"{#PNAME}":"igfxtray.exe"}, echo {"{#PNAME}":"lsass.exe"}, echo {"{#PNAME}":"lsm.exe"}, echo {"{#PNAME}":"Mailbird.exe"}, echo {"{#PNAME}":"mmc.exe"}, echo {"{#PNAME}":"mqsvc.exe"}, echo {"{#PNAME}":"mtputty.exe"}, echo {"{#PNAME}":"notepad.exe"}, echo {"{#PNAME}":"notepad++.exe"}, echo {"{#PNAME}":"OpenHardwareMonitorService.exe"}, echo {"{#PNAME}":"OSPPSVC.exe"}, echo {"{#PNAME}":"powershell_ise.exe"}, echo {"{#PNAME}":"PresentationFontCache.exe"}, echo {"{#PNAME}":"putty.exe"}, echo {"{#PNAME}":"SearchIndexer.exe"}, echo {"{#PNAME}":"services.exe"}, echo {"{#PNAME}":"SmartHookTestApp.exe"}, echo {"{#PNAME}":"smss.exe"}, echo {"{#PNAME}":"SMSvcHost.exe"}, echo {"{#PNAME}":"snmp.exe"}, echo {"{#PNAME}":"splwow64.exe"}, echo {"{#PNAME}":"spoolsv.exe"}, echo {"{#PNAME}":"sshd.exe"}, echo {"{#PNAME}":"svchost.exe"}, echo {"{#PNAME}":"System.exe"}, echo {"{#PNAME}":"taskhost.exe"}, echo {"{#PNAME}":"TCPSVCS.exe"}, echo {"{#PNAME}":"TestDDCCI.exe"}, echo {"{#PNAME}":"vivaldi.exe"}, echo {"{#PNAME}":"vmware-usbarbitrator64.exe"}, echo {"{#PNAME}":"wininit.exe"}, echo {"{#PNAME}":"winlogon.exe"}, echo {"{#PNAME}":"WmiPrvSE.exe"}, echo {"{#PNAME}":"wmpnetwk.exe"}, echo {"{#PNAME}":"zabbix_agentd.exe"} echo ] echo } |
Последний раз редактировалось popovichan, 16-03-2017 в 20:43. Причина: Проблема решена Отправлено: 20:22, 16-03-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] tasklist "Фильтр не опознан" или "Трудности перевода" | awkozlov | Скриптовые языки администрирования Windows | 10 | 30-10-2016 03:44 | |
Драйвер - После выхода из ждущего режима "отваливается" клавиатура | Nikolaich | Microsoft Windows 2000/XP | 12 | 19-03-2013 08:59 | |
Драйвер - "ТЕЛЬНЯЖКА" после выхода из сна.. | никола | Microsoft Windows 7 | 2 | 24-02-2009 18:53 | |
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 | |
[решено] Настройка "dial up" сервера для выхода в Internet через его adsl-соединение | badfilin | Сетевые технологии | 4 | 07-09-2006 00:49 |
|