IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Vérification si un mappage réseau existe


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut Vérification si un mappage réseau existe
    Salut,

    J'utilise un script vbs pour le mappage d'un lecteur réseau qui me demande mon user puis mon password dans une box et qui ensuite exécute un autre script se trouvant dans ce mappage réseau afin d'en ouvrir une application.
    Ce script fonctionne très bien mais si je ferme l'application (qui a été ouverte via cette succession de scripts) alors que je ne voulais pas, je n'ai pas d'autre choix que de réexécuter mon script vbs de départ.
    Le problème c'est qu'il me redemande mon user et password puis plante car le mappage réseau était déjà effectif.
    Je cherche donc à ajouter une vérification au début du script afin qu'il ne me redemande pas mon user/password pour mapper le lecteur si celui-ci est déjà mappé et que du coup il exécute de suite le script lançant l'application qui est sur ce mappage.

    Script actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set objNetwork = WScript.CreateObject("WScript.Network")
    strLocalDrive = "G:"
    strRemoteShare = "\\mon_path_map"
    strPer = "FALSE"
    strUsr = InputBox("Entrez votre Nom d'Utilisateur ")
    strPas = InputBox("Entrez votre Mot de Passe")
    objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas
    mDrive = "G:"
    Set oShell = CreateObject("Shell.Application")
    oShell.NameSpace(mDrive).Self.Name = "Nom_affecté_au_lecteur_mappé"
     
    set WshShell = createObject("WScript.shell")
    Wshshell.run "G:\Path_du_script_lançant_l'appli"
    Avant j'utilisais un script en commande dos qui n'avait pas ce problème mais ce n'était pas convivial du tout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set /p username=Entrez votre Nom d'Utilisateur pour \\mon_path_map :
    net use G: \\mon_path_map /user:DOMAINE\%username% * /persistent:no
    G:\Path_du_script_lançant_l'appli
    Merci d'avance,

    Salutations.

    EDIT: Remplacement du titre "Mappage + demande user/password" par "Vérification si un mappage réseau existe"

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut
    Salut,

    En cherchant d'avantage j'ai trouvé ça:
    http://msdn.microsoft.com/en-us/libr...at(VS.85).aspx

    Quelqu'un pourrait il m'aider à utiliser une partie de ce script dans une fonction du type, "Si déja connecté alors passe à l'exécution du programme sur ce mappage et si pas connecté alors fait tout mon script actuel" (des "go to" si je ne me trompe pas).
    Ou alors peut être qu'avec ce qu'il est écrit, on peut déconnecter ce lecteur si celui ci est déjà connecté et relancer tout le script de connexion mais ça veut dire qu'il faudrait retaper le user/password...

    Salutations,

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Pour te déconnecter tu peu utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    (...)
    strLocalDrive = "G:"
    On Error Resume Next
    objNetwork .RemoveNetworkDrive strLocalDrive 
    On Error Goto 0
    (...)
    pour voir si déjà connecté tu peu parcourir la liste des lecteurs connectés et vérifier ton nom de serveur ..:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set oDrives = objNetwork .EnumNetworkDrives
    For i = 0 to oDrives.Count - 1 Step 2
     
       WScript.Echo "Unité " & oDrives.Item(i) & " = " & oDrives.Item(i+1)
     
    Next

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut
    Salut,

    Merci pour cette réponse et le changement de nom du topic

    Malheureusement je n'arrive pas à savoir comment inclure l'un des 2 scripts dans le script de base que j'ai posté dans mon 1er post.

    Si c'est possible pouvez vous m'expliquer comment utiliser un une fonction "SI".
    Un truc du genre Si déjà connecté (donc utiliser le script de vérif map) alors va au script pour lancer l'appli qui est sur le réseau et si non alors lance le script de mappage réseau.

    Merci d'avance,

    Salutations,

  5. #5
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    Citation Envoyé par Boz37 Voir le message
    Salut,

    Merci pour cette réponse et le changement de nom du topic

    Malheureusement je n'arrive pas à savoir comment inclure l'un des 2 scripts dans le script de base que j'ai posté dans mon 1er post.

    Si c'est possible pouvez vous m'expliquer comment utiliser un une fonction "SI".
    Un truc du genre Si déjà connecté (donc utiliser le script de vérif map) alors va au script pour lancer l'appli qui est sur le réseau et si non alors lance le script de mappage réseau.

    Merci d'avance,

    Salutations,



    Salut !

    Je réponds un peu tard à ce topic, mais ça peut servir à d'autres.

    Si vous voulez savoir si votre lecteur est bien connecté et accessible, il suffit de tester la présence du dossier "." :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set oDrives = WshNetwork.EnumNetworkDrives
    Set oFSO = CreateObject("Scripting.FileSystemObject")
     
    WScript.Echo "Lecteurs réseaux :"
    For i = 0 to oDrives.Count - 1 Step 2
    	WScript.Echo "Lecteur " & oDrives.Item(i) & " = " & oDrives.Item(i+1) & _
    		" est accessible : " & oFSO.FolderExists(oDrives.Item(i) & "\.")
     
    Next
     
    msgbox "Fin"
    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/07/2007, 08h15
  2. Réponses: 3
    Dernier message: 28/03/2007, 13h31
  3. Réponses: 2
    Dernier message: 09/02/2007, 09h13
  4. Mappage réseau
    Par benissam dans le forum VBScript
    Réponses: 3
    Dernier message: 17/11/2006, 13h18
  5. le mappage réseau
    Par pricrot dans le forum VBScript
    Réponses: 6
    Dernier message: 05/10/2006, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo