Réseau

Signaler
Messages postés
135
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
2 décembre 2011
-
Messages postés
135
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
2 décembre 2011
-
Bonsoir a tous ^^



Je viens solliciter votre aide à propos d’un vbs !



Voila j’aimerai modifier mon script ci dessous pour me permettre de l’incrémenter si de nouvelles infos sont trouvés ainsi qu’une comparaison en cas de doublon !



Bon pour résumer le code récupère sur le réseau via un client citrix « ica » l’ UserName, le Clientname ainsi que le ClientAddress « Ip » des machines de mon réseau « PC et Clients Légers ».



L’idée est d’utiliser 2 dicos.



1 dico oUSERNAME   (o pour OBJET)



Ip, Username



1 dico oClientName



Ip, ClientName



Je  renseigne mes dicos de cette façon :




Set dicoCreateObject("Scripting.Dictionary")<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>






' Remplissage dico





dico.add "clé1","valeur1"



Je lance la requête :




For Each objSession In objFarm.Sessions






objTextFile.WriteLine( objSession.UserName & ";" & objSession.Clientname & ";" & objSession.ClientAddress )





Next



Avant de faire le WRITE ligne, je récupère l'ip et je regarde si elle existe dans le dico USername.



Si oui je vérifie aussi la valeur CLIENTNAME, c'est la même aussi





DONC j'écris la valeur.



SI 1 des 2 est différents j'écris un autre fichier : DOUBLON



Bien entendu si c’est une nouvelle je l’ajoute au dico.



Une fois la requête terminée j'ai 2 fichiers:



1 fichier pour initialiser le dico a l'ouverture.





1 fichier pour m'alerter des doublons



Mais voila, je ne parviens pas a mettre en application l’idée !




 





Voici le script







Const ForAppending = 8








Set objFSO = CreateObject("Scripting.FileSystemObject")









Set objFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")









Set objTextFile = objFSO.OpenTextFile ("c:\ICLA.csv", ForAppending, True)










 









objTextFile.WriteLine("User name : " & ";" & "client name: " &";" & "IP Address: ")










 









objFarm.Initialize(1)










 









For Each objSession In objFarm.Sessions









objTextFile.WriteLine( objSession.UserName & ";" & objSession.Clientname & ";" & objSession.ClientAddress )









Next










 








objTextFile.Close





 





Merci de votre aide.



Cordialement



Léo

1 réponse

Messages postés
135
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
2 décembre 2011

Re bonjour,


Vous voyer peut être une autre solution ?