[..] WNetAddConnection Besoin d'informations

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Sh4dows
Status : Hors ligne

[..] WNetAddConnection Besoin d'informations

#1

Message par Sh4dows »

Bonsoir à tous,

J'aurais besoin si possible, d'avoir quelques informations sur WNetAddConnection !
Soit en autoit la/les fonctions :

Code : Tout sélectionner

_WinNet_AddConnection()
_WinNet_AddConnection2()
_WinNet_AddConnection3()
 
J'aimerais savoir ce qu'il est possible de faire avec, j'ai entendus (vu un code) permettant de transférer un fichier à travers un réseau LAN sur un autre Pc du réseau.
Par exemple le Pc : "192.168.1.5" Envoie un fichier "bjr.txt" au Pc : "192.168.10.4" !

J'ai parcourus la librairie MSDN de Microsoft : http://msdn.microsoft.com/en-us/library ... S.85).aspx
Mais je comprend pas tout...

Si une personne pouvait m'éclaircir sur le sujet !

Code : Tout sélectionner

#Include <WinNet.au3>
_WinNet_AddConnection2($sLocalName, $sRemoteName [, $sUserName = 0 [, $sPassword = 0 [, $iType = 1 [, $iOptions = 1]]]])
 
Merci d'avance...
Cordialement Sh4dows
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#2

Message par SrBelial »

quelques petits points pour éclaircir un peu l'affaire :

_WinNet_AddConnection ne devrait plus être utilisée, elle n'est présente que pour des questions de compatibilité avec des Windows 16bits

à la place il est préférable d'utiliser _WinNet_AddConnection2 ou _WinNet_AddConnection3
(la différence entre les deux reste obscure pour moi, j'ai pas cherché plus)

leur utilisation tel que décrite dans la doc permet de déterminer les points suivants :

* ces fonctions permettent de connecter deux ressources distantes entre elles (disque, port imprimante, ...)
* ou bien uniquement de se connecter à une ressource distante (disque, port imprimante, ...)
* suivant la configuration du réseau il faut ou non utiliser un login+password
* ces fonctions seules ne servent pas à envoyer ou recevoir des fichiers à distance, elles constituent uniquement la première étape, permettant l'ouverture d'une connexion.

si tu as le code dont tu parles, je t'encourage vivement à regarder ce qui est fait après la connexion car à mon avis c'est là que se trouvent les difficultés pour échanger des fichiers à distance
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#3

Message par Sh4dows »

Oué je pense qu'il va falloir que je fasse une analyse approfondit sur la chose...
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#4

Message par Sh4dows »

Déjà il faut réussi à établir une connexion entre 2 Pc ce qui est logiquement possible !

Code : Tout sélectionner

_WinNet_AddConnection2($sLocalName, $sRemoteName [, $sUserName = 0 [, $sPassword = 0 [, $iType = 1 [, $iOptions = 1]]]])
 
$sLocalName : Name of a local device to be redirected, such as "F:" or "LPT1". The string is treated in a
case-insensitive manner. If 0, a connection to the network resource is made without redirecting the local
device.
► Afficher le texte
$sRemoteName : Name of the network resource to connect to
► Afficher le texte
Ensuite nous avons : Les ID de connection !

Puis : $iType : [optional] Specifies the type of network resource to connect to:
0 - Any (only if $sLocalName is 0)
1 - Disk
2 - Print
► Afficher le texte
Et le dernier paramètre semble inintéressant...

Ce qui me donne :

Code : Tout sélectionner

#Include <WinNet.au3>
_WinNet_AddConnection2("F:",  "\\SH4DOWS-PC", "*****", "*****", 1)
 
Si j'utilise une boite de dialogue afin de m'afficher la valeur de retour j'obtient un False !
Or si je fais :

Code : Tout sélectionner

#Include <WinNet.au3>
$VAL = _WinNet_AddConnection2("", "\\SH4DOWS-PC", "Pseudodemasessionwindows", "Passwddemasessionwindows", 1)
 
Le code me retourne un True !
A quoi correspond la première valeur ? Si elle est = 0 c'est un test en local ! Mais Encore ???

Edit :
► Afficher le texte
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#5

Message par SrBelial »

le premier paramètre c'est la ressource locale que tu veux connecter ...
en l'occurence si tu veux connecter le disque dur de ta machine, tu mets la lettre de ton disque dur ...
(si t'as pas de disque dur appelé F: ça marchera pas, essaie avec C: ou D:)

pour le LPT1, typiquement ça représente un port imprimante ... c'est au cas ou tu veux que la fonctionne connecte un port local d'imprimante de ta machine, pour que qqn d'autre à distance puisse s'en servir par exemple.

la ressource distante en effet c'est un nom réseau qu'il faut mettre, soit sous forme d'ip locale, soit comme tu l'as fait en utilisant son nom d'hôte .... je pense qu'il est possible de rajouter un répertoire partagé après par exemple, si tu ne souhaites pas accéder à l'intégralité de la machine distante.

les id de connexion tu peux faire en sorte suivant les options "$iOptions" que windows t'ouvre une fenêtre pour les demander à l'utilisateur.

$itype tu l'as bien compris : ça détermine à quel type de ressource tu te connecte

et au contraire le dernier paramètre (bien qu'un peu plus compliqué) se révèle très intéressant ... ^__^
il fournit certaines options qui te permettront de jouer un peu sur la sécurité de la connexion et notamment sur la sauvegarde des infos de connexion pour qu'elles ne soient pas redemandées à chaque appel de la fonction.
(et aussi elles permettent de forcer l'ouverture de la fenêtre de login)

...............................................................................................
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#6

Message par Sh4dows »

Merci pour le truc de l'imprimante :lol:

Sinon pour le transfert de fichier j'ai pensé à faire comme suit :

Code : Tout sélectionner

$VAL = _WinNet_AddConnection2("", "\\SH4DOWS-PC", "Sh4dows", "motdepass", 1)
MsgBox(0, "Test", $VAL) ;Juste pour afficher la valeur de retour !

$VAL = FileCopy(@ScriptDir&"\Explorer.exe", "\\SH4DOWS-PC\Users\Public\Documents"&"\Explorer.exe", 1)
MsgBox(0, "Test", $VAL) ;Juste pour afficher la valeur de retour !

$VAL = _WinNet_CancelConnection2("\\SH4DOWS-PC")
MsgBox(0, "Test", $VAL) ;Juste pour afficher la valeur de retour !
 
Le souci c'est que pour faire des test la j'ai eu quelques soucis, le code fonctionne mais j'ai pu faire des tests seulement avec 1 Pc !
Donc avec 1 Pc pas besoin de s'authentifier, les _WinNet... ne servent à rien !

Va falloir attendre demain :lol:
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#7

Message par SrBelial »

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
oui, sympa de faire de la copie distante par le réseau ... sur la même machine !!!!

^__^
par contre je suis curieux de savoir ce que ça donnera lorsque tu pourra tester en conditions réelles (avec plusieurs pc lol)

content d'avoir pu t'aider en interprétant le peu que j'ai compris en lisant la doc ^__^ et merci à toi de m'avoir fait découvrir ces fonctions ^__^
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#8

Message par Sh4dows »

Ben demain normalement je procède à un test en condition réelle 8)
Nous verrons bien ce que l'avenir nous réserve :lol:

Effectivement c'est grâce à toi que j'ai, enfin que l'ont a pu avancés !
Mais le sujet n'est pas Résolut :roll:

A suivre dans le prochain épisode...
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#9

Message par Sh4dows »

@SrBelial j'ai une bonne nouvelle, tout marche :lol:

En accédant manuellement à mon autre Pc j'eus une demande d'identification, je ne me suis pas loguer puis est lancé mon script bien évidement qui lui la fait à ma place et à bien copier le fichier 8)

Code :

Code : Tout sélectionner

$VAL = _WinNet_AddConnection2("", "\\PC-de-Isabelle", "Isabelle", "*****", 1)
MsgBox(0, "", $VAL)

$VAL = FileCopy(@ScriptDir&"\Explorer.exe", "\\PC-de-Isabelle\Users\Public\Documents"&"\Explorer.exe", 1)
MsgBox(0, "", $VAL)

$VAL = _WinNet_CancelConnection2("\\PC-de-Isabelle")
MsgBox(0, "", $VAL)
 
Cependant je doit procéder encore à différents tests pour voir ce que la copie donne si je ne m'identifie pas au préalable avec "WiNet" !

Pour ceux qui n'auraient pas compris l'utilité de ce code, il permet de transférer un fichier vers une autre machine de type Pc sur un Réseau Local (LAN | Local Area Network)

À suivre...
Modifié en dernier par Sh4dows le mar. 24 août 2010 09:18, modifié 1 fois.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#10

Message par SrBelial »

cool ^____^ donc ça fonctionne pour de vrai !! :D
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations  

#11

Message par Sh4dows »

oui :lol:

J'imagine déjà tous ce que je vais pouvoir faire avec :P
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#12

Message par Sh4dows »

Donc,
Si on n'utilise pas "_Winet..", ce n'est même pas la peine d'essayer :lol:

Ensuite je me suis dit qu'il manquait quelque chose...
Et j'ai alors pensé à l'exécution distante !

J'ai donc fais des recherche Google (Et oui, j'ai Googlé :lol:), et suis tombé grâce à un ami en grande partie, sur un Tool nommé : PsExec
Vous pouvez le trouvé ici : http://technet.microsoft.com/fr-fr/sysi ... 97553.aspx

J'ai donc construit mon code et j'ai rencontré des problèmes (Il ont toujours là cela... :roll:)
Mais en utilisant la merveilleuse petite fonction "Recherche" du forum, je suis tombé un problème quasiment similaire (De loin..)
Topic : http://www.autoit.fr/forum/viewtopic.php?f=3&t=264

J'ai alors, enfin je pense avoir construit ma ligne d'exécution en conséquence ce qui nous donne :

Code : Tout sélectionner

RunWait(@ComSpec & " /k " & "PsExec "&$LANAdress&" -u "&$LANUsername&" -p "&$LANPassword&" C:\Users\Public\Documents\Explorer.exe", "")
 
Mais voilà, (Voici enfin mon petit souci :cry:) j'ai un accès refusé à la machine distante alors que tous les paramètres sont Valide !!
Savez vous comment résoudre ce problème ?

Merci d'avance :roll:
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#13

Message par SrBelial »

peut être une toute petite minuscule idée ... :
est ce que l'utilisateur que tu utilise possède des droits sur la machine distante ?
(et comment sont gérés ces droits ? c'est un domaine ou un workgroup ?)
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#14

Message par Sh4dows »

Question Droit, il est Admin du Pc, c'est un workgroup et sur le réseau il peut accéder aux machine qui partage des fichier et inversement !
C'est la seul machine sous Vista !

Si j'ai mal répondus au question n'hésites pas... :roll:
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#15

Message par SrBelial »

donc si je comprends bien, si tu utilise les mêmes infos que le script en te connectant directement sur la machine ("distante"), alors tu es en admin, c'est bien ça ???

bah du coup j'ai pas d'autre idée pour l'instant ....^__^
j'y réfléchis ......
....
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#16

Message par Sh4dows »

Ben j'ai 2 PC, 2 comptes Admin différents (Sessions) c'est à dire un compte sur chaque Pc !
Et de l'un, j'essaye d'exécuter mon fichier sur l'autre. Ce n'est pas un problème de connexion ni de transfert de fichier, juste d'exécution...

J'ai exactement ce message dans cmd :
Cmd Of Sh4dows a écrit : Couldn't access PC-DE-ISABELLE:
AccÞs refusÚ.
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#17

Message par Sh4dows »

J'ai trpuvé ce post intérresant http://autoitscript.fr/forum/viewtopic. ... xec#p20237.
Tous simplement car @jorioux nous précise : "votre compte doit être dans le groupe administrateurs sur le poste distant" !

C'est le cas, j'ai tester son code et j'obtient encore et toujours le meme résultat !
Une erreur :x
Sh4dows
Status : Hors ligne

Re: [..] WNetAddConnection Besoin d'informations

#18

Message par Sh4dows »

Me voici pour un nouveau Rapport :lol:

Ce code fonctionne,mais bien évidemment nous sommes sur 1 seul PC !

Code : Tout sélectionner

RunWait(@ComSpec & " /k " & "PsExec "&$LANAdress&" -u "&$LANUsername&" -p "&$LANPassword&" C:\Users\Public\Documents\Explorer.exe", "")
De cette manière, nous avons également ce code qui fonctionne mais est un peu plus long :

Code : Tout sélectionner

RunWait(@ComSpec & " /k " & "PsExec "&$LANAdress&" -u "&$LANUsername&" -p "&$LANPassword&" "&$LANAdress&"\Users\Public\Documents\Explorer.exe", "")
Je pense que le problème vient de ma configuration sur le réseau, le Pc Vista manque de droit sur le réseau tout simplement...
Tout ceci est à confirmer, je fais des tests approfondit demain !! *00:04 heu... Vu l'heure, ben tout à l'heure alors... :lol:

P.S : Désoler pour le triple Post :roll: Je vais éviter dorénavant !!
Répondre