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 dico=CreateObject("Scripting.Dictionary")
' 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