Lecteur reseau en VBS

Lecteur reseau en VBS - Windows & Software

Marsh Posté le 18-10-2005 à 11:43:06    

Bonjour,  
 
J'aimerai supprimer tout les lecteur reseau (par exemple ceux créer par l'utilisateur) avant d'en remapper d'autres (les officiels lol).
 

Citation :

Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network" )
WshNetwork.RemoveNetworkDrive "Y:"
WshNetwork.MapNetworkDrive "Y:", "\\vermeer\commun"


 
Le probleme c'est que l'on peut supprimer que les lecteurs existants.
 
Autres question, il y a t il un site avec des exemples précis ?
 
merci a vous.

Reply

Marsh Posté le 18-10-2005 à 11:43:06   

Reply

Marsh Posté le 18-10-2005 à 15:06:12    

Pas d idée ;) ?

Reply

Marsh Posté le 18-10-2005 à 15:21:33    

bon j'ai un peu avancé.
Je vais essayé d'etre + clair  :)  
 
Voici le code que j'utilise pour mapper un driver :

Citation :

Dim WshNetwork, fso
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set fso = CreateObject("Scripting.FileSystemObject" )
If fso.DriveExists("Y:" ) Then
    WshNetwork.RemoveNetworkDrive "Y:"
Else
    WshNetwork.MapNetworkDrive "Y:", "\\server\commun"
End If


 
je voudrai rajouter un test pour démapper tout autre lettre presente sur le pc en local a partir de "G:" par exemple.
Merci

Reply

Marsh Posté le 18-10-2005 à 16:39:34    

- Tu as tout ce qu'il te faut ici ...
- Polarise toi sur la méthode EnumNetworkDrives
- Pour comprendre la structure regarde là ...
- Ce qu'il faut rajouter, puisque tu veux un offset (G: ), c'est une condition dans la boucle For sur la lettre du      lecteur.
 
En conséquence:

Citation :


On Error Resume Next
Start="g:" 'inclu
Set objNetwork = CreateObject("Wscript.Network" )
Set colDrives = objNetwork.EnumNetworkDrives
 
For i = 0 to colDrives.Count-1 Step 2
    If Asc(coldrives.item(i)) >= Asc(Ucase(Start)) then
        objNetwork.RemoveNetworkDrive colDrives.Item(i)
        Wscript.Echo "Le partage (" & coldrives.item(i) & " ) a été éffacé."
    end if
Next
Set colDrives = Nothing
Set objNetwork = Nothing


 
Note: - La condition pourrait porter sur le chemin UNC du partage, voir sur les deux...
        - C'est pas vraiment la bonne catégorie plus spécifique...

Reply

Marsh Posté le 18-10-2005 à 17:18:40    

Merci c'est parfait.
Par contre cela m'nelève que les lecteurs reseau ayant été créé par un script, pas ceux créer par l'utilisateur.

Reply

Marsh Posté le 18-10-2005 à 19:56:48    

Donc, si j'ai bien compris, distribue le script en stratégie d'ouverture de session...

Reply

Marsh Posté le 18-10-2005 à 23:31:21    

pourquoi ne pas utiliser un .bat avec dedans
 
net use /delete F:
net use /delete G:
net use /delete H:
...
 
à distribuer via GPO à la fermeture de session.

Reply

Marsh Posté le 19-10-2005 à 09:34:31    

si c pour utiliser un .bat je ferai plutot :  

Citation :

NET USE * /DELETE /Y

Reply

Marsh Posté le 19-10-2005 à 10:07:03    

je voulais utiliser vbs car je souhaite installer des imprimantes reseau en meme tps.

Reply

Marsh Posté le 19-10-2005 à 17:51:22    

La réponse de dahlo me parait la meilleure et la plus rafinée.
Il list les drives mappés, boucle dans la collection et les enleve. Que demander de plus :)

Reply

Marsh Posté le 19-10-2005 à 17:51:22   

Reply

Marsh Posté le 20-10-2005 à 11:28:27    

moicalex a écrit :

je voulais utiliser vbs car je souhaite installer des imprimantes reseau en meme tps.


pour ça, tu fais un autre script.
c'est à mon avis, mieux de séparer les fonctionnalités dans des scripts differents. C'est juste pour une histoire de lisibilité.

Reply

Marsh Posté le 08-12-2005 à 09:30:23    

petite question : quel droits doit ont avoir sur la machine pour executer ce vbs?
 
merci

Reply

Marsh Posté le 08-12-2005 à 21:36:39    

pour mapper un lecteur reseau ou monter une imprimante, des droits d'utilisateurs de base suffisent.


Message édité par i'm philou le 08-12-2005 à 21:36:53
Reply

Sujets relatifs:

Leave a Replay

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