Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Господа помогите модифицировать задачу мониторинга софта freebsd

Ответить
Настройки темы
PowerShell - Господа помогите модифицировать задачу мониторинга софта freebsd

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


мне необходимо модифицировать скрипт,который приведен ниже ..он делает похожую задачу ,только в направлении хардвара(юсб) .работает в постоянном режиме за счет цкла... использует стд команду Unix dmidecode ,которая мониторит хардвар.. есть ли похожая команда для выполнения мониторинга софта? ..необезательно все ето фиксировать в mysql.можно даже записивать ету инфу в лог....листинг привожу..хочется чтобы при отработке скрипта ,выполнялся контроль за установлением софта,в случае сравнения с БД не зарегестрированого ПО,выводится сообщение с характеристиками ПО и заносится инфа в лог


#!/usr/bin/env python
#-*- coding: windows-1251 -*-
import os
import subprocess
all = {}
rez = {}
te = {}
def devic():
data = open('data', 'r')
while 1:
da = data.readline()
all[da] = [da]
if not da: break
dmidecode = subprocess.Popen(['dmidecode -t 4'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
i = 0
while i<=50:
line = dmidecode.stdout.readline()
if not line in all:
proc = 'not register processor => '+line
rez[proc] = proc
i = i + 1
if not line: break
dmidecode = subprocess.Popen(['dmidecode -t 6'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
while 1:
line = dmidecode.stdout.readline()
if not line in all:
ram = 'not register ram => '+line
rez[ram] = ram
i = i + 1
if not line: break
dmidecode = subprocess.Popen(['dmidecode -t 10'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
while 1:
line = dmidecode.stdout.readline()
if not line in all:
media = 'not register media => '+line
rez[media] = media
if not line: break
dmidecode = subprocess.Popen(['dmidecode -t 2'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
while 1:
line = dmidecode.stdout.readline()
if not line in all:
board = 'not register mother board => '+line
rez[board] = board
if not line: break
lshw = subprocess.Popen(['lshw -C disc'], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
while 1:
line = lshw.stdout.readline()
if not line in all:
disc = 'not register disc => '+line
rez[disc] = disc
if not line: break
log = open('log', 'r')
while 1:
line = log.readline()
te[line] = line
if not line: break
log.close()
log = open('log', 'a')
for x in rez:
# print rez[x]
if rez[x] not in te:
print rez[x]
log.write(rez[x])
log.close()
while 1:
devic()

Отправлено: 23:34, 12-05-2010

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Господа помогите модифицировать задачу мониторинга софта freebsd

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Помогите решить задачу Urann Программирование и базы данных 11 14-05-2013 11:44
C/C++ - [решено] Помогите решить задачу по С++ Spl1t Программирование и базы данных 301 21-12-2011 23:20
C/C++ - Помогите решить задачу zdughi Программирование и базы данных 1 01-05-2009 06:03
помогите решить задачу snikers Программирование и базы данных 2 27-08-2004 01:57
помогите решить задачу Guest Программирование и базы данных 2 21-05-2004 11:23




 
Переход