begin process at 2012 02 16 22:57:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBScript

 > 

Se connecter à un répertoire réseau pour la première fois : login nécessaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Se connecter à un répertoire réseau pour la première fois : login nécessaire

jeudi 4 décembre 2008 à 16:25:15 | Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Bonjour à tous.

Voici mon problème :
J'utilise QuickTest Pro (donc du VBS) et je dois, dans le cadre d'un test, récupérer un fichier que l'application testée a généré.

QTP s'exécute sur une machine du réseau ayant son duo User/Mdp perso et le fichier généré se trouve sur un serveur ayant également son duo User/Mdp d'accès.

Mon soucis se trouve au niveau de la première connexion au répertoire dans lequel se trouve le fichier à récupérer.

En effet, manuellement, j'ai 2 possibilités pour accéder au répertoire final :
1) je crée une connexion au disque réseau dont un raccourci se trouvera sur mon poste de travail ;
2) j'indique le nom du serveur dans la commande 'Exécuter' de Windows et je navigue ensuite dans les répertoires.
Pour ces 2 méthodes, lors de la première connexion, une fenêtre de login apparaît.

Lors de l'automatisation du test qui doit récupérer le fichier, j'utilise une variante de FSO (en fait une bidouille avec Excel car j'ai des besoins très spécifiques au niveau de la recherche de fichier et de la performance), mais le schema reste le même. Donc, lors de la première connexion (où lors de la première exécution du test) une fenêtre de login s'affiche et cela fait planter mon test...

J'ai eu beau chercher, je n'ai pas trouvé d'objets, de fonctions, de méthodes, ni même d'exemples permettant de créer directement une connexion réseau avec login ou de se connecter directement à un répertoire réseau avec login...

J'ai bien trouvé l'objet WScript.WshNetwork, mais cela permet uniquement de créer ou de supprimer une connexion réseau avec raccourci (ce que j'aimerai finalement éviter...)...

Voilà, si vous aviez une réponse à ce problème ou même une approche différente de la mienne, cela m'aiderait énormément.

Merci d'avance et à bientôt !

jeudi 4 décembre 2008 à 16:43:10 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire
vendredi 5 décembre 2008 à 17:46:02 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

media6

Salut,
avec LDAP c'est possible, tu trouveras plusieurs sources et exemples sur le site.
Sinon avec l'API : WNetAddConnection2



lundi 8 décembre 2008 à 17:14:44 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Bonjour et merci pour la rapidité de ta réponse !

J'ai regardé wbem et wmi et j'ai réussi à coder ceci :
'Objet FSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Paramètre de sécurité
Const WbemAuthenticationLevelPktPrivacy = 6
'Paramètres de connexion
strUser = "USER"
strPassword = "PASSWORD"
strNamespace = "root\cimv2"
strComputer = "COMPUTER"
'Création de la connexion
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer(strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
'Définition des variables
Dim colFiles, objFile, tmpF
'Récupération des fichiers souhaités sur le serveur
Set colFiles = objWMIService.ExecQuery("Select * " & _
                                                                                    "From CIM_DataFile " & _
                                                                                    "Where Drive = 'D:' " & _
                                                                                    "And Path = '\\REP1\\REP2\\' " & _
                                                                                    "And Filename Like '%FILTRE1%FILTRE2%'" & _
                                                                                    "And Extension = 'xml'")
'Récupération de la liste des fichiers et affichage
tmpF = ""
For Each objFile in colFiles
    tmpF = tmpF & objFile.Filename & "." & objFile.Extension & " : " & objFile.Name & vbcr
Next
msgbox tmpF
'Répertoire local de téléchargement
Dim myfolder
myfolder = "D:\Documents and Settings\USER\Bureau\MonDossierTest\"
'Copie des fichiers
Const OverwriteExisting = TRUE
For Each objFile in colFiles
    objFSO.Copy myfolder & objFile.Filename & "." & objFile.Extension
Next


J'arrive donc bien à récupérer rapidement la liste des fichiers qui m'intéresse sur le serveur distant.
Mon soucis est que je n'arrive toujours pas à faire la copie de ces fichiers en local sur la machine exécutant le script...
J'ai l'impression que le FSO ne détecte toujours pas la connexion au serveur. Cela marche seulement lorsque je crée la première connexion manuellement (création d'un jeton de connexion ?)...

Aurais-tu d'autres idées pour me dépanner steuplé ?
Y-a-t-il par exemple des méthodes permettant la copie via wmi ou wbem ? Je n'en ai par trouvé mais on ne sait jamais...

Merci d'avance !
lundi 8 décembre 2008 à 17:22:25 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Bonjour et merci également pour ta réponse !

J'ai recherché des informations sur LDAP, mais après de multiples essais, je n'ai pas réussi à le mettre en pratique. En fait, je ne connais pas l'architecture réseau me permettant de définir les paramètres de connexion au réseau... (forêt, arbre, ...) Y aurait-il un moyen de le faire facilement ? Ou suis-je en train de partir complètement de travers ?

En revanche, pour WNetAddConnection2, je ne vois pas comment l'intégrer dans mon environnement de développement... Est-ce possible de l'intégrer dans du VBS ?

Merci encore pour ton aide !


lundi 8 décembre 2008 à 17:52:51 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

JMO

Membre Club


 Bonjour,

Il faut utiliser la méthode CopyFile de la collection colFiles.

For Each objFile in colFiles
   objFile.CopyFile ( source, destination[, overwrite] )
Next




jean-marc
lundi 8 décembre 2008 à 18:10:49 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Bonjour !

J'avais déjà essayé cette méthode qui me donnait l'erreur suivante :
Cet objet ne gère pas cette propriété ou cette méthode: 'CopyFile'

Au final j'avais le code suivant :
For Each objFile in colFiles
     objFile.CopyFile "\\" & strComputer & "\d$\REP1\REP2\REP3\", myfolder
Next

Mais n'est-ce pas une méthode qui ne s'exécute qu'en local ?

lundi 8 décembre 2008 à 18:16:06 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Autant pour moi, j'avais bien utilisé l'objet FSO pour faire le CopyFile -->
objFSO.CopyFile "\\" & strComputer & "\d$\REP1\REP2\REP3\", myfolder

En revanche cela me donne une 'General Runtime Error'... Je pense que cela est dû au fait que la connexion au serveur créée n'est pas reconnue par le FSO (je me connecte en administrateur, je dois donc avoir les droits de copie...).




lundi 8 décembre 2008 à 19:05:51 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

JMO

Membre Club


Re,

non testé
objFile.CopyFile objFile.Path & objFile.FileName, MyFolder & objFile.FileName, True


Pour éviter
myfolder = "D:\Documents and Settings\USER\Bureau\MonDossierTest\"
voir du côté de l'objet Shell:
Set objShell = CreateObject("WScript.Shell")
strDesktop = objShell.SpecialFolders("Desktop")
MsgBox strDesktop & "\MonDossierTest\" & objFile.Name


jean-marc
mardi 9 décembre 2008 à 11:14:35 | Re : Se connecter à un répertoire réseau pour la première fois : login nécessaire

v.massip

Membre Club
Bonjour et merci !

'CopyFile' est une méthode du FSO et non de CIM_DataFile qui utilise 'Copy' ou 'CopyEx' (en revanche, l'écrasement du fichier de destination est impossible).

En fait, le FSO ne fait pas de copie via réseau. En revanche, le fait de créer un lecteur réseau le lui permet :
'Connexion du lecteur réseau
Set WSHNetwork = CreateObject("WScript.Network")
WSHNetwork.MapNetworkDrive"z:","\\COMPUTER\d$",True, strUser, strPassword
'Déconnexion du lecteur réseau
WSHNetwork.RemoveNetworkDrive"z:", true
Cela m'arrange moyennement mais si je ne trouve que cette solution, ce sera celle-là...

Donc j'essaie toujours la copie via CIM_DataFile !
Voici mon code :
'Constante de sécurité de connexion
Const WbemAuthenticationLevelPktPrivacy = 6
 
'Définition des paramètres de connexion
strUser = "USER"
strPassword = "PASSWORD"
strNamespace = "root\cimv2"
strComputer = "COMPUTER"
 
'Définition de la connexion au serveur
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer(strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
 
'Définition de variables
Dim colFiles, objFile, myFile
 
'Récupération des fichiers recherchés
Set colFiles = objWMIService.ExecQuery("Select * " & _
"From CIM_DataFile " & _
"Where Drive = 'D:' " & _
"And Path = '\\REP1\\REP2\\REP3\\' " & _
"And Filename Like '%FILTRE1%FILTRE2%'" & _
"And Extension = 'xml'")
 
'Définition du répertoire de destination de la copie
Set objShell = CreateObject("WScript.Shell")
myFolder = objShell.SpecialFolders("Desktop") & "\MonDossierTest\"
 
'Copie locale de chaque fichier trouvé sur le répertoire de destination
ForEach objFile in colFiles
myFile = myFolder & objFile.Filename & "." & objFile.Extension
msgbox objFile.Copy(myFile)
Next
Le problème, c'est que le Copy semble bien se déclencher mais me renvoie la valeur '9', ce qui signifie 'Invalid object' selon la doc msdn.
J'ai essayé également le CopyEx mais la même valeur est retournée...

Aurais-tu une idée du problème ?

Merci d'avance !


Cette discussion est classée dans : répertoire, login, réseau, connexion, première


Répondre à ce message

Sujets en rapport avec ce message

Connexion à un PC du réseau. [ par looping_69 ] Bonjour,Je souhaite automatiser de la récupération de fichier entre plusieur PC de mon éseaux.mon pb se situ au niveau de la connexion.les poste que j Connexion à une BDD [ par sergeszebe ] Bonjour à tous!j'ai un pti soucis: j'ai un formaulaire Connexion.avec les login dans un zlm(zone de liste deroulante) appliqué à un champ de table:Con Gestion des paramètres de connexion à des réseaux [ par Pierre_faucon ] BonjourDevant régulièrement me connecter aux réseaux de mes clients lorsque je suis chez eux, je suis confronté à une manipulation manuelle de mes con Gestionnaire de profils de connexion réseau [ par adnotlegland ] Si vous en avez marre de reconfigurer les propriétés tcp/ip à la main à chaque fois que vous vous déplacez avec votre portable, ce soft sera votre ami Trouver le login de qqun sur un réseau [ par mierkool ] bonjour, j'aimerai savoir simplement, comment trouver le login de chaque personne loguée sur un réseau, à partir d'un poste. imaginons que mon résea [VB.NET]Connexion Réseau [ par SkouaT ] Bonjour,Il existe sous VB6 la fonction wnetaddconnectionj'ai essayé de l'utiliser sous vb.net mais sans grand succésQuelqu'un a-t'il une idée ? créer connexion [ par scortex84 ] Bonjour !Je souhaiterais automatiser la création de connexion réseau dans Windows : lorsque, sous XP, on fait propriété du voisinage réseau puis qu'on Choix de la connexion réseau par défaut (Wi-Fi ou Ethernet) et WMI [ par nico_fip1 ] Bonjour, Le PC pour lequel est dédié l'application que je développe possèdent plusieurs connexions réseau (Réseau Local et Wi-Fi). Comment peut-on f connexion interne par réseau [ par maichel123 ] je vx lancer et arréter la connexion à un pc connecté sur réseau veuillez m'aidez à résousdre ce prbsmerci de votre aide Connexion avec Login + Password [ par Pitoux78 ] Bonjour,Je posséde une base ACCESS avec une liste de personneDonc le Nom et le prenomJe souhaite faire un Form de connexion qui serai : Login = Prenom


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales