petite_fraise
Messages postés5Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention13 mai 2006
-
9 mai 2006 à 09:41
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
13 mai 2006 à 17:26
Bonjour à tous
J'ai besoin d'un petit coup de mains en vbs...
Je veux attribuer mes lettres de lecteurs automatiquement (mappages reseau) et ça par groupe. Ce dont je réussie à faire mais seulement pour un seul mappage par groupe. A partir de deux, j'ai un message d'erreur me disant "Nom de périphérique local déjà utilisé". Ce qui veux dire que ça fonctionne pour la première lettre à attribuer automatiquement pour le même groupe mais pas pour les mappages suivants... De plus, ça fonctionne très bien pour le premier lecteur (mappage) de chaque groupe. Ce que je souhaite, c'est donc de pouvoir attribuer plusieurs lettres de lecteurs (mappages) à certains groupes et pas uniquement un seul mappage !
Mon morceau de script qui fonctionne :
...
For i = Asc("R") To Asc("Z")
unite = Chr(i)
If fso.DriveExists(unite)=False Then
Exit For
End if
Next
...
Case "Group1"
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\Partage1" (mappage attribué avec 1er lettre de lecteur disponible)
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\Partage2" (message d'erreur et non attribution du mappage car "nom du périphérique déjà utilisé")
Case "Group2"
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\PartageA" (mappage attribué avec la 1er lettre de lecteur disponible)
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\PartageB" (message d'erreur et non attribution du mappage car "nom du périphérique déjà utilisé")
A savoir que j'ai essayé d'ajouter la ligne suivante :
unite = Chr(Asc(unite)+1)
Et ça ne me donne rien de bon !
En espérant avoir été assez clair !
Merci pour toute l'aide que vous pourrez m'apporter
petite_fraise
Messages postés5Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention13 mai 2006 13 mai 2006 à 10:17
Bonjour,
Merci bien pour ton aide
En fait, j'ai trouvé une solution, c'est à dire que j'utilise mon expression "Chr(Asc(unite)+1)" que je mets à la place de "unite" dans les mappages suivants, exemple :
...
Case "Group1"
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\Partage1"
WshNetwork.MapNetworkDrive Chr(Asc(unite)+1) & ":", "\\ServerName\Partage2"
...
Tout fonctionne très bien comme ça
Encore merci pour ton intérêt et peut-être à bientôt
il faut faire une itération (ou plusieurs appels) qui te permette de changer la valeur de unite à chaque mappage!
Mets ta recherche de lettre valide dans une fonction, ex :
Public Function GetValideDriveUnit() As String
...
End Function
et fait un appel à l'outil d'unité valide, un appel à l'outil de mappage, et ce pour chaque mappage à réaliser, ex :
...
Case "Group1"
'obtiens une unité valide (par exemple "E")
unite = GetValideDriveUnit
'crée le mappage
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\Partage1"
'obtiens une unité valide (par exemple, forcément pas "E", nouvelle déjà utilisée))
unite = GetValideDriveUnit
'crée le mappage
WshNetwork.MapNetworkDrive unite & ":", "\\ServerName\Partage2"
...
Qu'en penses-tu?
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>