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

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

carpe diem
Afficher la suite 

3 réponses

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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Dernière intervention
12 juin 2012
5
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>
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Dernière intervention
12 juin 2012
5
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.