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 :

Script de changement de lecteurs réseaux


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut Script de changement de lecteurs réseaux
    Bonjour tout le monde,

    Dans mon entreprise, nous venons de migrer nos serveurs, dont notre serveur de fichier.
    probleme: les lecteurs réseaux des postes postes client (une centaine) ne sont pas montés via un script de logon, mais directement ajoutés en local.

    ancien serveur: server4
    nouveau serveur: server14

    j'ai donc commencé a codé un petit script en vb (langage que je ne connais pas trés bien, mais qui m'a l'air d'etre assez adapté). ce script regarde tous les lecteurs réseaux et remplace l'ancien serveur par le nouveau quand il y a besoins.

    les briques marche séparement, mais une fois assemblées me mettent une erreure, avez-vous des pistes pour résoudre ce problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set objDrive = WshNetwork.EnumNetworkDrives
     
    For intDrive = 0 to objDrive.Count -1 Step 2
    If InStr( LCase(objDrive.Item(intDrive +1) ), LCase("server4") ) Then
    WshNetwork.RemoveNetworkDrive objDrive.Item(intDrive) , true, true
    WshNetwork.MapNetworkDrive objDrive.Item(intDrive), Replace( LCase(objDrive.Item(intDrive +1)) , LCase("server4"),LCase("server14") ) , true
    End If
    Next
    l'erreure est du type:
    ligne: 7
    caractere: 1
    erreur: nom de réseau introuvale
    source: WshNetwork.MapNetworkDrive
    j'ai trituré le code dans tout les sens rien n'y fait :/
    please help me ^^

  2. #2
    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
    affiche la chaine généré histoire de vérifier...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wscript.echo "WshNetwork.MapNetworkDrive " & objDrive.Item(intDrive) & ", " & Replace( LCase(objDrive.Item(intDrive +1)) & " , " & LCase("server4") & "," & LCase("server14") ) & " , true"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    la fonction Replace génére une erreur car il lui faut plus d'arguments

    j'ai donc modifier la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Wscript.echo "WshNetwork.MapNetworkDrive " & objDrive.Item(intDrive) & ", " & Replace( LCase(objDrive.Item(intDrive +1))  , LCase("server4") , LCase("server14") ) & " , true"
    cette ligne est elle correct pour aficher la ligne comme vous le vouliez ?

    le resultat me semble convenir:
    WshNetwork.MapNetworkDrive Z:, \\server14\public , true
    ==
    Dans mon 1er post:
    lorsque je met uniquement la ligne pour enlever un drive, ou alors uniquement la ligne pour ajouter un drive, ça marche
    mais quand je met les deux lignes , ça ne marche pas.

    j'ai d'abord mis une tempo mais c'est toujours pareil

    le problème ne viendrai-il pas de l'objet "WshNetwork" ? Comment puis-je le savoir ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    bonjour,

    mon erreur venait du fait que le chemin n'existait pas ( king of bouleto)

    voici donc un script qui fonctionne , je le poste car il pourrait peu etre servir a d'autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set OFS = CreateObject("Scripting.FileSystemObject")
    Set objDrive = WshNetwork.EnumNetworkDrives
     
    ExSrv	= "server4"
    NewSrv	= "server14"
     
    For intDrive = 0 to objDrive.Count -1 Step 2
    If InStr( LCase(objDrive.Item(intDrive +1) ), LCase(ExSrv) ) Then
     
    Drive 	= objDrive.Item(intDrive)
    ExPath	= objDrive.Item(intDrive +1)
    NewPath	= Replace( LCase(objDrive.Item(intDrive +1)) , LCase(ExSrv),LCase(NewSrv) )
     
    WshNetwork.RemoveNetworkDrive Drive , true, true
     
    If OFS.FolderExists(NewPath) Then
    WshNetwork.MapNetworkDrive Drive, NewPath  , true
    Else
    WScript.Echo "<" & NewPath & "> n'existe pas !"
    End If
     
    End If
    Next
    WScript.Echo "Terminé"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/06/2012, 12h59
  2. Réponses: 9
    Dernier message: 18/01/2012, 18h37
  3. script pour nettoyer des lecteurs réseaux
    Par ko0nz dans le forum VBScript
    Réponses: 1
    Dernier message: 06/02/2008, 17h13
  4. Script de connexion / Deconnexion des lecteurs réseaux
    Par f1vincent dans le forum Développement
    Réponses: 1
    Dernier message: 31/01/2007, 16h39
  5. bkup vers lecteur réseaux
    Par SILO dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/01/2006, 13h22

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