1. Да събира информация от работните станции за:
- Процесор
- Дънна платка
- Инсталирана RAM
- Hard disk
- Мрежов адаптер
- ... (всякаква друга периферия)
3. Да притежава елементарен интуитивен web интерфейс
4. Да може да организира отделните станции в групи (по зали)
5. Да може да сигнализира за промяна в хардуерната конфигурация на ниво машина или зала
След едно доста широко търсене за такъв софтуер (свободен; желателно с отворен код) се откриха множество проекти които изпълняват част от условият като към тях прибавят огромна шарения + възможности за къпане на бебета, но нито един който да прави всички горе изброени точки без да добавя излишни неща.
Все пак търсенето на софтуер не беше напълно безпочвено тъй като изясни ако не кой ще е кандидата то поне какви биха били техническите характеристики на решението. А именно (по точки):
1. WMI
2. WMI
3. код който чете от WMI и пише в база данни от която друг код пълни web интерфейса
4. в т.3 обърнете внимание на база данни
5. О! база данни + email2sms
(предполагам, че ако някой чете този блог ще бъде силно озадачен какво изобщо става тук, но трябва да е ясно, че целта на блога е да обяснява на технически грамотни люде какво е направил един(или няколко) системни администратори. т.е. не очаквайте прекалено дълги захаросани обяснения)
да се върнем на техническото описание на решението за да обобщим характеристиките на нашият hero app :)
Това би било софтуер който извлича информация за работна станция през WMI и я записва в база данни. И друг такъв който въз основа на информацията в базата създава web приложение за справочни цели. Нека добавим и тригери в базата които извикват елементарен външен скрипт който ни известява за проемни в хардуерната конфигурация.
Това звучи сложно, но хей ... нека се опитам да го представя през админски поглед :) (отново в типичният вече за този блог натрупан с линкове доста хаотичен стил)
1. харесваме си софтуер който прави необходимите WMI справки. Аз съм се спрял на Global Network Inventory на фирмата MagnetoSoft. Браво момчета чудестна работа но при 300 работни станции и цена от 950 долара за година... предпочитам да ви почерпя бира и да си говорим за мацки :)
2. инсталираме GNI (Global Network Inventory) trial версия на някоя машина.
3. на друга машина Vista+ стартираме wevtutil така че да следи за WMI активност.
http://www.windowsitpro.com/article/windows-client/An-Easier-Way-to-View-Incoming-WMI-Queries.aspx
4. Изпълняваме GNI сканиране на машината от точка 3 така че цялата информация която GNI може да извлича за дадена станция да е налична.
5. Отново според туториъла в точка 3 изличаме логовете за WMI активност
и ги записваме във текстов файл (в моя случай 1.log)
6. Магически ги пресяваме. Например с egrep под линукс:
peach@l1fe:~/Desktop$ cat 1.log | egrep -o "<Operation>.*.</Operation>" | grep ExecQuery | egrep -o "select.*.<"
select *from Win32_Service<select *from Win32_DiskDrive<
select *from Win32_LogicalDisk<
select *from Win32_Printer<
select *from Win32_Processor<
select *from Win32_PhysicalMedia<
select *from Win32_VideoController<
select *from Win32_Environment<
select __RELPATH, Name from Win32_Desktop<
select *from Win32_OperatingSystem<
select __RELPATH, __RELPATH from Win32_Process<
select *from Win32_PhysicalMemory<
select *from Win32_PageFile<
select *from Win32_PortConnector<
select *from Win32_BIOS<
select *from Win32_ComputerSystem<
select *from Win32_ComputerSystemProduct<
select *from Win32_SystemEnclosure<
select *from Win32_NetworkAdapter<
select *from Win32_BaseBoard<
select *from Win32_OperatingSystem<
select __RELPATH, __RELPATH from Win32_Process<
select *from Win32_NetworkAdapterConfiguration<
select *from Win32_Desktop<
select *from Win32_SystemSlot<
Ето и WMI заявките които GNI изпълнява. Благодаря ти GNI :)
Край на първа част.
Очаквайте във втора част писането на кода отново изпълнено с множество изненади :)
Няма коментари:
Публикуване на коментар