Gros problème de Mappage de lecteurs réseaux [ Résolu]

Gros problème de Mappage de lecteurs réseaux [ Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 04-08-2009 à 10:13:37    

Salut a tous j'aimerais mapper des lecteurs pour mon boulot en fait les lecteurs existent déjà je voudrais juste changer leur chemin dans mon script j'aimerais donc supprimer le lecteur existant le remplacer et le renommer.
 
Le script me dit qu'il y a une erreur a la ligne 11 mais la je sèche complètement je suis novice dans la prog et je comprend pas tous a se qu'il me raconte
 
Voici mon SCRIPT
 
Merci d'avance de votre aide
 
Dim WshNetwork, fso
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set fso = CreateObject("Scripting.FileSystemObject" )
If fso.DriveExists("Q:" ) Then
    WshNetwork.RemoveNetworkDrive "Q:"
Else
    WshNetwork.MapNetworkDrive "Q:", "\\server\partage"
    strNewName = "COMMUN "
 
set objShell = CreateObject("Shell.Application" )
objShell.NameSpace(fso.DriveExists).Self.Name = strNewName
 
End If


Message édité par president36000 le 10-08-2009 à 18:39:39

---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 04-08-2009 à 10:13:37   

Reply

Marsh Posté le 04-08-2009 à 15:57:12    

aidez moi SVP
 
up


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 04-08-2009 à 16:07:42    

Et nous donner l'erreur tu crois pas que ça nous aiderait à t'aider ? :o


---------------
Instagram - Mon PVT en Australie.
Reply

Marsh Posté le 04-08-2009 à 17:18:58    

c'est pas faux !!!!
Alors après avoir retourner le script dans tous les sens j'ai trouver l'erreur du script il fallait mettre la lettre de mon lecteur a la place de (fso.driveexists).
 
'set objShell = CreateObject("Shell.Application" )
objShell.NameSpace("Q:" ).Self.Name = strNewName'
 
En revanche il ne supprime et ne remplace pas mes lecteurs qui existent déjà. Il crée les nouveaux sans problème et les modifient si je change le script mais les lecteurs qui existent ne bougent pas.
 
Mais il n'y a pas de message d'erreur cette fois ci.  
 
Y a t'il une ligne a rajouter ou autre chose je vois pas de trop
 
Merci a tous


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 05-08-2009 à 09:20:38    

Salut
pourrais-tu préciser exactement tout les tests que tu as déjà effectué ?
Si je lis bien normalement ce qui est censé supprimer est :

Code :
  1. WshNetwork.RemoveNetworkDrive "Q:"


 

Code :
  1. RemoveNetworkDrive(strName[,bForce[,bUpdateProfile]]) : Supprime la connexion réseau spécifiée par l'argument strName. L'argument facultatif bForce permet, lorsqu'il vaut True, de supprimer la connexion au lecteur réseau même s'il est en cours d'utilisation. Enfin, bUpdateProfile permet, lorsqu'il vaut True, de supprimer le lecteur du profil utilisateur.


as-tu essayé de forcer la deconnexion?
 
Je m'y connais pas du tout en reseau, j'utilise pas le vbs pour ça  :whistle:  
 
Au fait pourquoi "Q:" et Commun?
tu veux mapper tout les lecteurs sur un seul lecteur?
 
Ps: ca sert à rien de marquer gros problème :sweat: , si tu poses une question c'est juste un problème auquel tu n'arrives pas à trouver la solution ;)


Message édité par _xme_ le 05-08-2009 à 09:25:39
Reply

Marsh Posté le 05-08-2009 à 15:43:27    

le seul test que j'ai effectuer est que lorsqu'il n'y a pas de lecteurs réseaux dans mon profil utilisateur le script fonctionne très bien création suppression du lecteur réseau.
 
Par contre quand le script s'éxécute dans un profil ou les lecteurs sont deja créés rien ne se passe le script s'éxécute mais rien ne se passe


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 05-08-2009 à 16:13:31    

As-tu essayé en forçant la deconnexion comme je te l'ai conseillé?

Code :
  1. RemoveNetworkDrive("Q:",true,)

Reply

Marsh Posté le 05-08-2009 à 17:05:10    

un message d'erreur apparait lorsque je rajoute ta ligne a la place de la mienne. Sa me met erreur de syntaxe au caractère 30.
 
J'ai oublier quelque chose j'ai essayer aussi avec :  
 
   1. RemoveNetworkDrive("Q:",true,true)
 
Mais ici sa me dit : L'appel d'une fonction Sub n'admet pas de parenthèses.
 
 


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 05-08-2009 à 18:18:40    

Le problème c'est que je peux pas du tout tester ce que je te propose, j'utilise pas du tout cette partie là du vbs ^^
rassure moi tu n'as pas changé

Code :
  1. WshNetwork.RemoveNetworkDrive "Q:"


par  

Code :
  1. RemoveNetworkDrive("Q:",true,)


mais bien par

Code :
  1. WshNetwork.RemoveNetworkDrive("Q:",true,)


 :D  
Dans tout les cas ton erreur semble simple
essaye ça:

Code :
  1. WshNetwork.RemoveNetworkDrive "Q:", true,false

Reply

Marsh Posté le 05-08-2009 à 18:30:16    

si c'est que j'avais fait quel boulet  :D  j'essaye sa assez rapidement je te tiendrais au courant Merci d'avance


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 05-08-2009 à 18:30:16   

Reply

Marsh Posté le 06-08-2009 à 09:28:46    

Résultat des courses?

Reply

Marsh Posté le 06-08-2009 à 12:47:34    

desolé j'ai pas tester je bosse pas la fin de la semaine problèmes familiaux mais je sens que sa va le faire je te redis sa lundi


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 10-08-2009 à 11:39:49    

salut le lecteur est bien supprimer Mais il ne me recréé pas le nouveau lecteur. J'i l'impression qu'il ne prend pas en compte l'instruction suivante.
 
Mon script n'a pas changer mis a part la ligne de suppression je pige plus rien !!!!!! lol  
 
Dim WshNetwork, fso
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set fso = CreateObject("Scripting.FileSystemObject" )
If fso.DriveExists("Q:" ) Then
    WshNetwork.RemoveNetworkDrive "Q:",true,true :  la nouvelle ligne
Else
    WshNetwork.MapNetworkDrive "Q:", "\\server\partage"
    strNewName = "COMMUN "


Message édité par president36000 le 10-08-2009 à 11:53:04

---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 10-08-2009 à 12:28:00    

Bon ben c'est simple alors
Si tu veux que ton lecteur soit supprimé tu rajoutes

Code :
  1. WshNetwork.RemoveNetworkDrive "Q:",true,true :  la nouvelle ligne


Et si tu veux qu'il soit rajouter tu enlèves la ligne

Code :
  1. WshNetwork.RemoveNetworkDrive "Q:",true,true :  la nouvelle ligne


après à toi de faire la synthèse  :D  
Qu'est ce que tu veux, je suis méthodique moi, je résoud un problème après l'autre  :D  
 
Bon attends je reregarde ça:
 
Euh à priori ça m'a l'air normal  :lol:  
tu ne lui dit jamais de recréer ton lecteur après l'avoir détruit.
tu as seulement fait un if  
Ne voulais-tu pas écrire:

Code :
  1. Dim WshNetwork, fso
  2. Set WshNetwork = WScript.CreateObject("WScript.Network" )
  3. Set fso = CreateObject("Scripting.FileSystemObject" )
  4. If fso.DriveExists("Q:" ) Then
  5.    WshNetwork.RemoveNetworkDrive "Q:",true,true
  6. End if
  7. WshNetwork.MapNetworkDrive "Q:", "\\server\partage"
  8. strNewName = "COMMUN "
  9.  
  10. set objShell = CreateObject("Shell.Application" )
  11. objShell.NameSpace(fso.DriveExists).Self.Name = strNewName

Reply

Marsh Posté le 10-08-2009 à 12:44:53    

oui voila j'allais justement changer mon post j'ai remarquer sa avent de débaucher je tente sa cet aprem mais je pense que c'était le fait de mettre ma création de lecteur dans mon IF
 
Merci je te tiens au courant de toutes façon


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 10-08-2009 à 15:37:27    

Voila merci bien _xme_ pour ton aide précieuse tous fonctionne parfaitement.


---------------
Mieux vaut être saoul que con sa dure mois longtemps !!!
Reply

Marsh Posté le 10-08-2009 à 15:54:19    

De rien
Bonne continuation et aussi à l'avenir évite les "gros problèmes"
Tout personne qui poste à forcément un soucis qu'il considère suffisament important pour être bloqué dans son projet. ;)
A et puis peut être rajoute aussi résolu dans ton titre, histoire de faire plus clean :)


Message édité par _xme_ le 10-08-2009 à 15:54:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed