comandos personalizados SNMP no Windows

1

Por um tempo, eu monitorei servidores UNIX / Linux usando o SNMP. Modificando o arquivo snmpd.conf e adicionando algo como

view systemview included .1.2.3.4.5.6.789
pass .1.2.3.4.5.6.789 /bin/bash /bin/myscript.sh

me permite executar scripts personalizados para os OIDs do SNMP. Eu tenho um script powershell no Windows e preciso fazer o mesmo, como / onde eu configuro e configuro isso?

Box é o Windows Server 2008 (eu acho R2)

    
por Smudge 20.07.2011 / 16:39

3 respostas

2

Tanto quanto eu sei, o único método para fazer o que você está procurando seria implementar um SNMP Extension Agent (DLL). Pode já haver alguém que tenha implementado um agente de extensão que permita a execução de comandos arbitrários (como parece ser uma coisa útil), mas eu não estou familiarizado com um.

A Microsoft tem vários documentos sobre desenvolvimento e instalação de SNMP Extension Agents. Há uma boa e sucinta descrição sobre desenvolvimento de SNMP Extension Agents no CodeProject, também.

Um agente de extensão SNMP que permitisse a definição arbitrária de comandos para executar certamente seria interessante, mas eu não tenho o tempo livre para escrevê-lo.

    
por 20.07.2011 / 16:53
1

Como mencionado acima, não estou ciente de nada que acione um script após o recebimento de uma interceptação SNMP - o próprio Windows não funciona como um receptor de interceptação, a menos que você instale esse daemon no Windows. realmente enviá-los.

Se você estiver tentando fazer algo quando um evento é registrado no log de eventos, provavelmente será melhor usar a opção "Anexar tarefa a este evento" incorporada do Windows Server 2008, que você verá se clique com o botão direito em qualquer evento no Event Log.

Para criar um trap SNMP real quando um evento é registrado, veja evntwin.exe ou, se você estiver mais confortável com o CLI evntcmd.exe

Existem alguns programas - um que usei no passado foi What's Up Gold - que pode reagir a armadilhas SNMP recebidas.

Se você acha que posso fornecer mais informações, por favor, volte para mim.

-Lewis

EDITAR: Talvez algo que possa ser útil para você seja Consumidores Temporários de Eventos, mas essencialmente requer que um script seja executado continuamente e use o VBScript para que você precise se adaptar ao PowerShell ou adaptar seu PowerShell script para VBScript. Veja: link

Essencialmente, este script monitora o log de eventos, mas o conceito é o mesmo.

sComputer = "."

Set oWMIService = GetObject("winmgmts:{(Security)}!\" & sComputer & "\root\cimv2")

Set cEvents = oWMIService.ExecNotificationQuery _
   ("SELECT * FROM __InstanceCreationEvent WHERE " _
   & "Targetinstance ISA 'Win32_NTLogEvent'")

Do
Set oEvent = cEvents.NextEvent

    Select Case oEvent.TargetInstance.EventCode
    Case "100"
        Wscript.Echo "Event 100 occurred".
End Select
Loop
    
por 20.07.2011 / 17:14
-2

Caso alguém tenha descoberto isso, atualmente parece haver um número disponível de soluções freeware para Windows que podem manipular mensagens de interceptação SNMP:

por 28.08.2015 / 18:58