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 :

Redirection du contrôle d'erreurs vers un fichier concaténé


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Par défaut Redirection du contrôle d'erreurs vers un fichier concaténé
    Bonjour,

    Je voudrais rediriger le retour de mes contrôles d'erreurs de mappage de disque dans un fichier mais je ne trouve pas la bonne syntaxe.
    J'ai la variable strUsrProfile que je récupère par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strUserProfile = wshShell.ExpandEnvironmentStrings( "%USERPROFILE%" )
    et ma commande pour chaque disque mappé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	If err.number <> 0 then
    		WScript.Echo "Erreur Disque T: " & err.number & " " & err.description >> "C:\ "& strUserProfile &"\VBS.log"
    	End if

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    A essayer avant le If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "valeur de Err = " & err
    Peut être aussi un MsgBox juste après le If permettrait de confirmer si tu entres bien dans la condition.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Par défaut
    Ta commande ne résout pas mon problème.

    Ce que je voudrais: c'est que pour chaque disque mappé dans mon script, je testes le code retour d’exécution et je stocke cette information dans un fichier nommé VBS.log dans le répertoire de chaque profile utilisateur. (C:\%USERPROFILE%\VBS.log)

    Je n'ai pas besoin d'un popup qui me renvoi le message d'erreur.

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Citation Envoyé par yellowdog Voir le message
    Ta commande ne résout pas mon problème.....
    Je m'en doute bien, je te proposais de vérifier, à l'aide des MsgBoxs, la valeur de Err et si tu passais bien dans la condition If, pas plus dans un premier temps.

    Alors, Err est il bien détecté, que vaut strUserProfile quand il y a une erreur ?

    Ceci n'est pas une solution à ton problème, mais une recherche du pourquoi ton code en l'état ne fonctionne pas.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 37
    Par défaut
    J'ai déjà fais le test avec MSGBOX et il me remonte bien la valeur.

    Voici le script en entier.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    ' *******************************************
    ' Script to MAP users disks for GRPINFO Group
    ' *******************************************
    Option Explicit
    Dim domainName,userName,CompStr,GrpUserMapUs
    Dim WshNetwork,wshShell,GrpUser,groupUser
     
    ' *****************************************************
    ' GET %USERNAME% to initialize username variable
    ' *****************************************************
    Set WshNetwork = WScript.CreateObject("WScript.Network") 
    Set wshShell = CreateObject("WScript.Shell")
     
    GrpUserMapUs= Array("1","1","3","4","5")
    GrpUser= Array("a","b","c","d")
    userName = WshNetwork.UserName
    domainName = "mydomain.com"
     
     
    ' ***********************************************************
    ' Quit the script for users belonging to group  GRP_NO_ETUDES
    ' ***********************************************************
     If  GetObject("WinNT://" & domainName & "/GRP_NO_ETUDES,Group").IsMember("WinNT://" & domainName & "/" & userName) Then		
    		WScript.quit
     End If
     
    ' ****************************************************
    ' Quit the script for users belonging to GrpUser array
    ' ****************************************************
    For each groupUser in GrpUser
    	CompStr = StrComp(groupUser, userName, 1)
    	If CompStr = 0 Then
    		WScript.quit
    	Else	
    	End If
     
    Next
     
    ' *******************************************************
    ' MAP USA drive for users belonging to GrpUserMapUs array
    ' *******************************************************
    For each groupUser in GrpUserMapUs
    	CompStr = StrComp(groupUser, userName, 1)
    	If CompStr = 0 Then
    		wshShell.Run "net Use Z: /Delete"
    		wshShell.run "net use Z: \\1.1.1.1\FrPrjSumm$"
    	Else	
    	End If
     
    Next
     
    ' ***************************************************
    ' MAP drives for specific Groups 
    ' ***************************************************
     
    If  GetObject("WinNT://" & domainName & "/GRP_ESPACE_COMMERCIAL_CHANTIER,Group").IsMember("WinNT://" & domainName & "/" & userName) Then
    	 wshShell.Run "net Use T: /Delete"		
             wshShell.run "net use T: \\NASGFX\AgencesDPCSav"
    	If err.number <> 0 then
    		WScript.Echo "Erreur Disque T: " & err.number & " " & err.description >> "C:\ "& strUserProfile &"\VBS.log"
    	End if
    End If
     
     
    If  GetObject("WinNT://" & domainName & "/USA_PROJECTS_FILES,Group").IsMember("WinNT://" & domainName & "/" & userName) Then
    				wshShell.Run "net Use E: /Delete"
    				wshShell.run "net use E: \\1.1.1.1\US Projects Files$"
    	If err.number <> 0 then
    		WScript.Echo "Erreur Disque E: " & err.number & " " & err.description >> "C:\ "& strUserProfile &"\VBS.log"
    	End if
    End If
     
    ' ***************************************************
    ' MAP drives for specific Users 
    ' ***************************************************
     
    Select Case userName
    	Case "r" 
    		wshShell.Run "net Use Y: /Delete"
    		wshShell.run "net use Y: \\SRV\DESIGN"
    		wshShell.Run "net Use V: /Delete"
    		wshShell.run "net use V: \\NAS\BE_DIGITAL_COVER"
    	Case "c"
    		wshShell.Run "net Use Z: /Delete"
    		wshShell.run "net use Z: \\2.2.2.2\taurus"
    		wshShell.Run "net Use V: /Delete"
    		wshShell.run "net use V: \\NAS\BE_DIGITAL_COVER"
    	Case Else
    End Select
     
     
    WScript.quit
     
     
    ' wshShell.Run "net Use W: /Delete"
    ' wshShell.run "net use W: ""\\NAS\USERS\" & userName &""""

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Re

    Je tenterai bien ce code
    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
    ' ***************************************************
    ' MAP drives for specific Groups 
    ' ***************************************************
     
    If  GetObject("WinNT://" & domainName & "/GRP_ESPACE_COMMERCIAL_CHANTIER,Group").IsMember("WinNT://" & domainName & "/" & userName) Then
    	 On Error Resume Next
    	 wshShell.Run "net Use T: /Delete"		
             wshShell.run "net use T: \\NASGFX\AgencesDPCSav"
    	If Err then
    		WScript.Echo "Erreur Disque T: " & err.number & " " & err.description >> "C:\ "& strUserProfile &"\VBS.log"
    		Err.Clear   
    	End if
    	On Error GoTo 0
    End If
     
     
    If  GetObject("WinNT://" & domainName & "/USA_PROJECTS_FILES,Group").IsMember("WinNT://" & domainName & "/" & userName) Then
    	 On Error Resume Next
    				wshShell.Run "net Use E: /Delete"
    				wshShell.run "net use E: \\1.1.1.1\US Projects Files$"
    	If Err then
    		WScript.Echo "Erreur Disque E: " & err.number & " " & err.description >> "C:\ "& strUserProfile &"\VBS.log"
    		Err.Clear   
    	End if
    	On Error GoTo 0
    End If
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. Redirection de résultat de commande vers un fichier
    Par Julius Cesarus dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 17/01/2010, 13h17
  2. redirection de la commande printf vers un fichier
    Par carvi dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2008, 09h56
  3. Réponses: 3
    Dernier message: 07/11/2007, 15h20
  4. Redirection d'un select vers un fichier
    Par Perseide dans le forum DB2
    Réponses: 3
    Dernier message: 19/07/2006, 21h49
  5. Récupérer sortie standard après redirection vers un fichier.
    Par sozie9372 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2006, 15h10

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