OVH Cloud OVH Cloud

MapNetworkDrive

6 réponses
Avatar
Hervé
Bonjour,

je souhaiterais savoir comment vérifier qu'une unité réseau est bien mappée
et si non alors le faire.

J'avais fait ce script mais débutant j'ai l'impression de emmêler les
pinceaux :

Option Explicit
'on error resume Next
Dim ObjNetwork
Dim StrDriveLetter, StrRemotePath
StrDriveLetter = "Z:"
StrRemotePath = "\\toto\users"
Set ObjNetwork = WScript.CreateObject("Wscript.Network")

If ObjNetwork.DriveExist(StrDriveLetter) Then
ObjNetwork.RemoveNetworkDrive "Z:"
Else
ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath
End If
WScript.Quit

Merci

6 réponses

Avatar
Fred
Dans le message:42b81a76$0$303$,
Hervé écrit:
Bonjour,

je souhaiterais savoir comment vérifier qu'une unité réseau est bien
mappée et si non alors le faire.

J'avais fait ce script mais débutant j'ai l'impression de emmêler les
pinceaux :

Option Explicit
'on error resume Next
Dim ObjNetwork
Dim StrDriveLetter, StrRemotePath
StrDriveLetter = "Z:"
StrRemotePath = "totousers"
Set ObjNetwork = WScript.CreateObject("Wscript.Network")

If ObjNetwork.DriveExist(StrDriveLetter) Then
ObjNetwork.RemoveNetworkDrive "Z:"
Else
ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath
End If
WScript.Quit

Merci


Bonjour,
DriveExist ... n'existe pas dans Wscript.Network
Tu dois pouvoir tester son existence avec un objet
Scripting.FileSystemObject
Sinon, je ne vois pas l'utilité du RemoveNetworkDrive.
En résumé, tu peux essayer ceci :
8<-------------------
Option Explicit
'on error resume Next
Dim ObjNetwork
Dim oFOS
Dim StrDriveLetter, StrRemotePath
StrDriveLetter = "Z:"
StrRemotePath = "totousers"
Set ObjNetwork = WScript.CreateObject("Wscript.Network")
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
If NOT oFSO.DriveExistS(StrDriveLetter) Then
ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath
End If
WScript.Quit
8<-------------------.



--
Fred

Avatar
Hervé
Merci beaucoup.
Effectivement c'est bien mieux .
Peux tu me dire avec quoi ou comment tu accèdes aux classes et objet de
windows ?

Hervé

"Fred" a écrit dans le message de news:

Dans le message:42b81a76$0$303$,
Hervé écrit:
Bonjour,

je souhaiterais savoir comment vérifier qu'une unité réseau est bien
mappée et si non alors le faire.

J'avais fait ce script mais débutant j'ai l'impression de emmêler les
pinceaux :

Option Explicit
'on error resume Next
Dim ObjNetwork
Dim StrDriveLetter, StrRemotePath
StrDriveLetter = "Z:"
StrRemotePath = "totousers"
Set ObjNetwork = WScript.CreateObject("Wscript.Network")

If ObjNetwork.DriveExist(StrDriveLetter) Then
ObjNetwork.RemoveNetworkDrive "Z:"
Else
ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath
End If
WScript.Quit

Merci


Bonjour,
DriveExist ... n'existe pas dans Wscript.Network
Tu dois pouvoir tester son existence avec un objet
Scripting.FileSystemObject
Sinon, je ne vois pas l'utilité du RemoveNetworkDrive.
En résumé, tu peux essayer ceci :
8<-------------------
Option Explicit
'on error resume Next
Dim ObjNetwork
Dim oFOS
Dim StrDriveLetter, StrRemotePath
StrDriveLetter = "Z:"
StrRemotePath = "totousers"
Set ObjNetwork = WScript.CreateObject("Wscript.Network")
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
If NOT oFSO.DriveExistS(StrDriveLetter) Then
ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath
End If
WScript.Quit
8<-------------------.



--
Fred




Avatar
Fred
Dans son message 42b828c6$0$309$
Hervé nous dit :

Merci beaucoup.
Effectivement c'est bien mieux .
Peux tu me dire avec quoi ou comment tu accèdes aux classes et objet
de windows ?


Pour la documentation, je vais sur le site MSDN Library :
http://msdn.microsoft.com/library/default.asp
Et plus particulièrement pour le scripting, dans la rubrique Web
Development (et oui !)
Ici exactement.
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWSHLanguageReference.asp

Sinon, j'utilise aussi parfois l'éditeur de macros VBA (sous Word ou
Excel par exemple)
Il suffit d'ajouter dans les références (outils références) les
composants suivants :
Microsoft Script Host Object Model
(si tu n'utilises que le FileSystemObject, tu peux utiliser Microsoft
Scripting Runtime)

A partir de là, tu peux commencer à développer tes scripts comme des
macros en profitant du typage des objets :

Par ex :
Dim oFSO as IWshRuntimeLibrary.FileSystemObject
Set oFSO = CreateObject("IWshRuntimeLibrary.FileSystemObject"
L'avantage, c'est que tu as la complétion automatique, et l'explorateur
d'objets.
Une fois ton script au point, tu vires les "As" et tu enregistres en
vbs.

Tu peux aussi aller voir le script center qui déborde d'exemples de
scripts classés par catégories ici :
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx


--
Fred

Avatar
Hervé
Merci Fred

"Fred" a écrit dans le message de news:

Dans son message 42b828c6$0$309$
Hervé nous dit :

Merci beaucoup.
Effectivement c'est bien mieux .
Peux tu me dire avec quoi ou comment tu accèdes aux classes et objet
de windows ?


Pour la documentation, je vais sur le site MSDN Library :
http://msdn.microsoft.com/library/default.asp
Et plus particulièrement pour le scripting, dans la rubrique Web
Development (et oui !)
Ici exactement.
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWSHLanguageReference.asp

Sinon, j'utilise aussi parfois l'éditeur de macros VBA (sous Word ou Excel
par exemple)
Il suffit d'ajouter dans les références (outils références) les composants
suivants :
Microsoft Script Host Object Model
(si tu n'utilises que le FileSystemObject, tu peux utiliser Microsoft
Scripting Runtime)

A partir de là, tu peux commencer à développer tes scripts comme des
macros en profitant du typage des objets :

Par ex :
Dim oFSO as IWshRuntimeLibrary.FileSystemObject
Set oFSO = CreateObject("IWshRuntimeLibrary.FileSystemObject"
L'avantage, c'est que tu as la complétion automatique, et l'explorateur
d'objets.
Une fois ton script au point, tu vires les "As" et tu enregistres en vbs.

Tu peux aussi aller voir le script center qui déborde d'exemples de
scripts classés par catégories ici :
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx


--
Fred





Avatar
Hervé
Bonjour,

j'ai testé également la possibilité de déconnecter toutes les unités réseau
d'un poste de travail XP.
En fait est il possible de forcer le mappage d'une unité réseau déjà mappée
?
En effet il arrive que des utilisateurs mappent leurs unitées réseau
manuellement et afin d'éviter ce problème c'était soit de supprimer tous les
mappages puis remapper derrière, soit de forcer le mappage.
J'ai essayé par la méthode Array mais n'y arrive pas:

Option Explicit

Dim ObjNetwork, oFSO
Dim StrRemotePath, StrUserName 'Objets Lecteur, unité et répertoire
Dim StrDriveLetter

StrDriveLetter = ("f:", ......"v:","w:")

Set ObjNetwork = WScript.CreateObject("Wscript.Network")
StrUserName = ObjNetwork.UserName

ObjNetwork.RemoveNetworkDrive "f:",....,"v:","w:"

ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath _
& "" & StrUserName

'End If

WScript.Quit

Merci
Hervé


"Hervé" a écrit dans le message de news:
42ba53a1$0$17617$
Merci Fred

"Fred" a écrit dans le message de news:

Dans son message 42b828c6$0$309$
Hervé nous dit :

Merci beaucoup.
Effectivement c'est bien mieux .
Peux tu me dire avec quoi ou comment tu accèdes aux classes et objet
de windows ?


Pour la documentation, je vais sur le site MSDN Library :
http://msdn.microsoft.com/library/default.asp
Et plus particulièrement pour le scripting, dans la rubrique Web
Development (et oui !)
Ici exactement.
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWSHLanguageReference.asp

Sinon, j'utilise aussi parfois l'éditeur de macros VBA (sous Word ou
Excel par exemple)
Il suffit d'ajouter dans les références (outils références) les
composants suivants :
Microsoft Script Host Object Model
(si tu n'utilises que le FileSystemObject, tu peux utiliser Microsoft
Scripting Runtime)

A partir de là, tu peux commencer à développer tes scripts comme des
macros en profitant du typage des objets :

Par ex :
Dim oFSO as IWshRuntimeLibrary.FileSystemObject
Set oFSO = CreateObject("IWshRuntimeLibrary.FileSystemObject"
L'avantage, c'est que tu as la complétion automatique, et l'explorateur
d'objets.
Une fois ton script au point, tu vires les "As" et tu enregistres en vbs.

Tu peux aussi aller voir le script center qui déborde d'exemples de
scripts classés par catégories ici :
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx


--
Fred









Avatar
Hervé
j'ai trouvé

For x = 0 to colNetDrives.count-1 Step 1
WSHNetwork.RemoveNetworkDrive colNetDrives.Item(x), bForce,
bUpdateProfile
Next

Merci

"Hervé" a écrit dans le message de news:
42ba8851$0$17624$
Bonjour,

j'ai testé également la possibilité de déconnecter toutes les unités
réseau d'un poste de travail XP.
En fait est il possible de forcer le mappage d'une unité réseau déjà
mappée ?
En effet il arrive que des utilisateurs mappent leurs unitées réseau
manuellement et afin d'éviter ce problème c'était soit de supprimer tous
les mappages puis remapper derrière, soit de forcer le mappage.
J'ai essayé par la méthode Array mais n'y arrive pas:

Option Explicit

Dim ObjNetwork, oFSO
Dim StrRemotePath, StrUserName 'Objets Lecteur, unité et répertoire
Dim StrDriveLetter

StrDriveLetter = ("f:", ......"v:","w:")

Set ObjNetwork = WScript.CreateObject("Wscript.Network")
StrUserName = ObjNetwork.UserName

ObjNetwork.RemoveNetworkDrive "f:",....,"v:","w:"

ObjNetwork.MapNetworkDrive StrDriveLetter, StrRemotePath _
& "" & StrUserName

'End If

WScript.Quit

Merci
Hervé


"Hervé" a écrit dans le message de news:
42ba53a1$0$17617$
Merci Fred

"Fred" a écrit dans le message de news:

Dans son message 42b828c6$0$309$
Hervé nous dit :

Merci beaucoup.
Effectivement c'est bien mieux .
Peux tu me dire avec quoi ou comment tu accèdes aux classes et objet
de windows ?


Pour la documentation, je vais sur le site MSDN Library :
http://msdn.microsoft.com/library/default.asp
Et plus particulièrement pour le scripting, dans la rubrique Web
Development (et oui !)
Ici exactement.
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWSHLanguageReference.asp

Sinon, j'utilise aussi parfois l'éditeur de macros VBA (sous Word ou
Excel par exemple)
Il suffit d'ajouter dans les références (outils références) les
composants suivants :
Microsoft Script Host Object Model
(si tu n'utilises que le FileSystemObject, tu peux utiliser Microsoft
Scripting Runtime)

A partir de là, tu peux commencer à développer tes scripts comme des
macros en profitant du typage des objets :

Par ex :
Dim oFSO as IWshRuntimeLibrary.FileSystemObject
Set oFSO = CreateObject("IWshRuntimeLibrary.FileSystemObject"
L'avantage, c'est que tu as la complétion automatique, et l'explorateur
d'objets.
Une fois ton script au point, tu vires les "As" et tu enregistres en
vbs.

Tu peux aussi aller voir le script center qui déborde d'exemples de
scripts classés par catégories ici :
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx


--
Fred