Attribution lettres de lecteurs reseau attribués automatiquement en vbs [Résolu]

petite_fraise 5 Messages postés mardi 2 mai 2006Date d'inscription 13 mai 2006 Dernière intervention - 9 mai 2006 à 09:41 - Dernière réponse : rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention
- 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

carpe diem
Afficher la suite 

3 réponses

Meilleure réponse
petite_fraise 5 Messages postés mardi 2 mai 2006Date d'inscription 13 mai 2006 Dernière intervention - 13 mai 2006 à 10:17
3
Merci
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

carpe diem

Merci petite_fraise 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 11 mai 2006 à 12:23
0
Merci
Salut 763348 petite_fraise,

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>
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 13 mai 2006 à 17:26
0
Merci
De rien, je t'en prie!

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.