PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → Code recuperation nom machine cliente marche pas en deploiement
Code recuperation nom machine cliente marche pas en deploiement
Iniciado por gdiawisana, 13,may. 2005 13:08 - 5 respuestas
Publicado el 13,mayo 2005 - 13:08
Bonjour,

Je suis en train de developper un site intranet et je voudrais recuperer le nom des machines clientes. Sur les Wtablettes.net, un code est proposé pour pallier à ce problème.
Cela marche bien en mode test ,mais dès que je le deploie sur le serveur de test, il me renvoie tout le temps <vide>. Voici le code :

PROCEDURE IPVersDNS(IP)
CmdExe est une chaîne = "cmd /c nslookup " + IP + " >res.txt"
Posfic est un entier
t est une chaîne
LanceAppli(CmdExe, exeInactif, exeBloquant, "c:\temp\")
t = fChargeTexte("c:\temp\res.txt")
SI ChaîneOccurrence(t, "Name:") = 0 ALORS
Posfic = Position(t,"Nom")
SINON
Posfic = Position(t,"Name:")
FIN

SI ChaîneOccurrence(t, "DNS request timed out") >=1 OU Taille(t) < 70 ALORS
RENVOYER "< Vide >"
SINON
RENVOYER SansEspace(Remplace(t[[Posfic+5 A Position(t,"Address",Posfic)-1]], CR, ""))
FIN


Aider moi svp !
Merci
Publicado el 13,mayo 2005 - 18:16
Bjr;

Je me suis penché sur le pb et le résultat est ...
On peut avoir le numéro IP dans l'administration du serveur WEB (Fichier log) mais pour le nom de la machine c'est impossible (à notre connaissance dixit admin réseau).

De plus ne pas oublier que la machine qui travaille réellement c'est le serveur, les clients ne visualisant que les résultats. (c'est très schématique je l'admets)

Pour récupérer des infos clients il faudrait lancer les commandes coté navigateur (evident) sauf que les commandes qui marchent sur Windev ne fonctionnent pas sur WebDev coté client !
Publicado el 17,mayo 2005 - 01:29
Salut,

ce code (dont je suis l'auteur, hehe) te renvoie <vide> dans 2 cas :
1) le serveur de DNS ne réponds pas. Dans ce cas, voir la config sur le
poste de déploiement.
2) le serveur de DNS sur lequel pointe le poste de déploiement (serveur web)
n'a pas d'enregistrement "reverse DNS" pour les adresses IP que tu lui
envoies.
Il est important pour ce 2ème point d'avoir un serveur DNS connaissant les
adresses du LAN (adresses privées, j'imagine) dans le cas d'un intranet.
Regarde avec ton administrateur réseau pour faire la config de cela (faire
pointer le serveur web sur un serveur DNS local ou sur une copie de la
zone).
Dans le cas d'un site public, tu n'obtiens que le nom associé à l'IP de la
passerelle qui a permis l'accès (le cas échéant).

En espérant t'avoir aidé..

Bon dev,

Olivier

guy a tapé sur son clavier :

Bonjour,

Je suis en train de developper un site intranet et je voudrais recuperer
le nom des machines clientes. Sur les Wtablettes.net, un code est proposé
pour pallier à ce problème.
Cela marche bien en mode test ,mais dès que je le deploie sur le serveur
de test, il me renvoie tout le temps <vide>. Voici le code :

PROCEDURE IPVersDNS(IP)
CmdExe est une chaîne = "cmd /c nslookup " + IP + " >res.txt"
Posfic est un entier
t est une chaîne
LanceAppli(CmdExe, exeInactif, exeBloquant, "c:\temp\")
t = fChargeTexte("c:\temp\res.txt")
SI ChaîneOccurrence(t, "Name:") = 0 ALORS
Posfic = Position(t,"Nom")
SINON
Posfic = Position(t,"Name:")
FIN

SI ChaîneOccurrence(t, "DNS request timed out") >=1 OU Taille(t) < 70
ALORS
RENVOYER "< Vide >"
SINON
RENVOYER SansEspace(Remplace(t[[Posfic+5 A
Position(t,"Address",Posfic)-1]], CR, ""))
FIN


Aider moi svp !
Merci
Publicado el 17,mayo 2005 - 09:17
A partir de la version 00033n la commande reseauutilisateur() suffit...

trop facile...

Salutations!
Publicado el 17,mayo 2005 - 16:32
Bjr
et te donne le nom du serveur ! qui lui aussi est un utilisateur du réseau c'est vrai.
Car dans le code "navigateur" la fonction est impossible.
Désolé.
Publicado el 17,mayo 2005 - 16:33
Bjr
et te donne le nom du serveur ! qui lui aussi est un utilisateur du réseau c'est vrai.
Car dans le code "navigateur" la fonction est impossible.
Désolé.