Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1589 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [vba/snmp]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[vba/snmp]

n°1870553
x-ben
Posté le 07-04-2009 à 14:27:40  profilanswer
 

Salut,
je cherche un moyen de lire une MIB via excel (VBA) et je ne trouve aucune doc.
qqun pourrait t'il m'aiguiller svp?


---------------
LaBrute
mood
Publicité
Posté le 07-04-2009 à 14:27:40  profilanswer
 

n°1870590
kao98
...
Posté le 07-04-2009 à 15:02:03  profilanswer
 

Il te faut une bibliothèque tierse. Il doit y en avoir qui s'interfacent facilemet avec VB.  
 
Ensuite, ben il faudra voir avec la doc de la bibliothèque que tu auras choisi.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1870597
x-ben
Posté le 07-04-2009 à 15:07:06  profilanswer
 

je ne vois pas trop de quoi il s'agit cette bibliothèque tierce.
tu aurais plus d'info stp?


---------------
LaBrute
n°1870604
kao98
...
Posté le 07-04-2009 à 15:12:37  profilanswer
 

Tu n'es pas programmeur si ?
Si tu ne sais pas ce qu'est une bibliothèque, je doute que SNMP soit à ta portée.
 
M'enfin... une bibliothèque, c'est une collection d'objets, de fonctions, de procédures, ... implémentant plein de chose. Dans ton cas, tu as besoin d'une bibliothèque implémentant le protocole SNMP, te permettant de développer "facilement" des applications utilisant ce protocole sans avoir à te farcir tout le protocole et le fonctionnement "bas niveau" de SNMP.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1870618
x-ben
Posté le 07-04-2009 à 15:27:58  profilanswer
 

je vois ce qu'est une bibliothèque mais je ne vois pas à quelle bibliothèque tierce tu fais référence
-edit- sinon le bas niveau ne me fait pas peur, il me faut juste la doc


Message édité par x-ben le 07-04-2009 à 15:30:10

---------------
LaBrute
n°1870630
kao98
...
Posté le 07-04-2009 à 15:43:23  profilanswer
 

Une bibliothèque tierse, c'est une lib qui vient d'un tiers ! Je n'ai pas de nom en tête qui soient facile d'accès depuis VB. Là, en tête, je n'ai que net-snmp.
 
Et si tu veux te taper le protocole snmp, c'est pas la doc qui manque sur Internet.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1870655
x-ben
Posté le 07-04-2009 à 16:07:40  profilanswer
 

je vois également ce qu'est une bibliothèque tierce.
le protocole snmp je connais également.
ce qui me manque, ce sont les méthodes pour le faire en vba.
vais-je réussir à me faire comprendre  [:at war with emo]


---------------
LaBrute
n°1870659
kao98
...
Posté le 07-04-2009 à 16:10:29  profilanswer
 

J'essaye de t'expliquer qu'il te faut une bibliothèque tierse si tu veux pas passer 2 mois (au moins) à coder le protocole !
 
Je vois pas ce que je pourrais te dire de plus ! Lance toi donc à la recherche d'une lib, à moins que tu te sentes d'attaquer le protocole, auquel cas lance toi à al recherche de la RFC !
 
Que veux tu de plus ? SNMP est pas implémenté par VBA !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1871025
SuppotDeSa​Tante
Aka dje69r
Posté le 08-04-2009 à 12:14:26  profilanswer
 

Bonjour
 
Tout depend de ce que tu comptes faire. A la limite que tu saches ce qu'est une biblio on s'en cogne, sois peut etre un peu plus explicite sur ce que tu souhaites...
 
Tu peux te faire un batch et, par ex en utilisant snmputil.exe, le lancer avec des parametres via VBA...
Ou tu peux aussi passer par du Vbscript si tu as besoin de recuperer des valeurs...
 
Cordialement
 
Edit : Regarde de ce coté, tu auras peut etre des réponses


Message édité par SuppotDeSaTante le 08-04-2009 à 12:27:06

---------------
Soyez malin, louez entre voisins !
n°1871091
x-ben
Posté le 08-04-2009 à 14:25:56  profilanswer
 

j'ai laissé tomber vba
En m'aidant de ce script vbs (http://www.generation-nt.com/snmp-entraide-146421.html) je parviens à récupérer l'IP des imprimantes dans l'AD.
maintenant je tente d'interroger la MIB de chacune de ces imprimantes et là je retombe dans la galère. Hélas je met le nez dans vbs depuis à peu près aujourd'hui.

Code :
  1. Do Until oRecordSet.EOF
  2. if (true) then
  3.  Set oCurrentPrintQueue = GetObject(oRecordSet.Fields("ADsPath" ).Value)
  4.  oSNMPManager.Agent = (Mid(oCurrentPrintQueue.Get("portName" ),4))  ' récupère l'IP de l'imprimante. jusque là ça marche
  5.  oSNMPManager.Community = "xxx"
  6.  Call oSNMPManager.Variables.Add( "1.3.6.1.2.1.43.10.2.1.4" ) ' nb feuilles totales
  7.  Call oSNMPManager.Variables.Add( "1.3.6.1.2.1.43.10.2.1.5" ) ' nb feuilles depuis ON
  8.  Result = oSNMPManager.Get( ErrorIndex )
  9.  Set oVariablesCollection = oSNMPManager.Variables
  10.  LogFile.WriteLine(oRecordSet.Fields("printerName" ).Value & ";" & _
  11.      oSNMPManager.Variables.Add( "1.3.6.1.2.1.4.20.1.1.0" ).Value & ";" & _
  12.      oVariablesCollection.Item(1) & ";" & _        
  13.      oVariablesCollection.Item(2))
  14.       
  15.  oSNMPManager.Variables.RemoveAll
  16. End If
  17. Set oCurrentPrintQueue = Nothing
  18. CompPrinterName = oRecordSet.Fields("printerName" ).Value
  19. oRecordSet.MoveNext
  20. Loop


---------------
LaBrute
mood
Publicité
Posté le 08-04-2009 à 14:25:56  profilanswer
 

n°1871915
kao98
...
Posté le 10-04-2009 à 10:57:16  profilanswer
 

Quand tu fais variables.add(), la variable est ajoutée à la représentation en mémoire de l'arbre, mais pas encore écrit dans la MIB. Le getNext par contre doit demander la valeur réellement dans la MIB.
 
Essaye peut-être un set après l'ajout de la variable. Puis un get du noeud que tu viens d'ajouter (get("1.3.6.1.2.1.43.10.2.1.5" ). Là, le getnext devrait bien te renvoyer le suivant.
 
Si c'est bien ça, il y aura sûrement moyen d'optimiser, parce que là, c'est pas idéal quand même.
 
Edit : ho, le delete de fourbe :o


Message édité par kao98 le 10-04-2009 à 10:57:57

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1871980
x-ben
Posté le 10-04-2009 à 13:38:07  profilanswer
 

lol scuze-moi j'ai trouvé la réponse à ma question avant que tu n'ai eus le temps de répondre et du coup j'ai effacé sans savoir que tu allais poster (un delete de fourbe pour résumer :D )
il me reste un prob, c'est pour récupérer l'adresse mac d'une machine.
je fais bien ma requète sur : 1.3.6.1.2.1.2.2.1.6
mais il me renvoie des trucs du style : t³p> ou bien tÜýÒ  [:at war with emo]  


---------------
LaBrute
n°1871982
kao98
...
Posté le 10-04-2009 à 13:42:52  profilanswer
 

Une adresse MAC, c'est une suite de nombre Hexa. Tu dois recevoir des données numériques que tu affiches sous forme de texte. Il faut sans doute appliquer un format, ou autre, à ce que tu récupères.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1871985
x-ben
Posté le 10-04-2009 à 13:56:36  profilanswer
 

kao98 a écrit :

Il faut sans doute appliquer un format, ou autre, à ce que tu récupères.


c'est sur, mais je ne vois pas quelle transformation s'est opérée entre l'adresse au format hexa et le résultat qui m'est renvoyé


Message édité par x-ben le 10-04-2009 à 13:56:52

---------------
LaBrute
n°1871988
kao98
...
Posté le 10-04-2009 à 13:58:39  profilanswer
 

Qu'est-ce que tu récupères, une chaîne ? Et quelle méthode utilises-tu pour l'afficher ?


Message édité par kao98 le 10-04-2009 à 14:01:08

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1871994
x-ben
Posté le 10-04-2009 à 14:07:20  profilanswer
 

je ne sais pas te dire précisément ce que je récupère.
c'est le résultat de cette requète que j'écris tel quel dans un fichier csv.
 

Code :
  1. Call oSNMPManager.Variables.Add("1.3.6.1.2.1.2.2.1.6 " )
  2. (...)
  3. Result = oSNMPManager.GetNext( ErrorIndex )
  4. Set oVariablesCollection =  oSNMPManager.Variables


 
puis j'écris: oVariablesCollection.Item(1)


---------------
LaBrute
n°1872020
x-ben
Posté le 10-04-2009 à 14:45:08  profilanswer
 

encore un ptit blème lors de ce test:

Code :
  1. If (Left(oSNMPManager.Agent, 3) = 172) Then


(je veux voir si la variable est une adresse IP)
 
ça marche tant que c'est bien une IP mais dès que je tombe sur un truc du genre 01:00 ça me fait une erreur

Code :
  1. Type incompatible: '[string: "1:"]'



---------------
LaBrute

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [vba/snmp]

 

Sujets relatifs
problème snmp et phpProbleme de message d'erreur sur une fonction SNMP
SC13 et SNMPMonitoring de serveur avec SNMP
apache, php et snmpGénérateur trames SNMP
Générateur de trames SNMPTempérature système en PHP via SNMP
Pb avec PHP/SNMP et OIDSNMP sous PHP/Windows
Plus de sujets relatifs à : [vba/snmp]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR