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

  1. #1
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 555
    Points : 13 791
    Points
    13 791
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 555
    Points : 13 791
    Points
    13 791
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 555
    Points : 13 791
    Points
    13 791
    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
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    Ca me semble être bon, je l'ai implémenté dans mon code.
    Par contre je rencontre un nouveau problème, le script ci-dessous fonctionne sans problème lorsque lancé manuellement mais lorsqu'il est lancé à l'ouverture de session par GPO, j'ai l'erreur ci-dessous.
    Je supprime un fichier (objFSO.DeleteFile fileName) dans le profil utilisateur mais il me remonte une erreur de permissions lors de la suppression du fichier VBS.txtNom : 1.JPG
Affichages : 40
Taille : 20,4 Ko.



    As tu une idée ?


    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
    ' *******************************************
    ' Script to MAP users disks for GRPINFO Group
    ' *******************************************
    Option Explicit
    Dim domainName,userName,CompStr,GrpUserMapUs,objFSO,objFile,strLogonServer
    Dim WshNetwork,wshShell,GrpUser,groupUser,strUserProfile,fileName
     
    ' *****************************************************
    ' GET %USERNAME% to initialize username variable
    ' *****************************************************
    Set WshNetwork = WScript.CreateObject("WScript.Network") 
    Set wshShell = CreateObject("WScript.Shell")
     
    GrpUserMapUs= Array("1","2","3")
    GrpUser= Array("a","b","c")
    userName = WshNetwork.UserName
    domainName = "mydom.com" 
    strUserProfile = wshShell.ExpandEnvironmentStrings( "%USERPROFILE%" )
    strLogonServer = wshShell.ExpandEnvironmentStrings( "%LOGONSERVER%" )
    fileName = strUserProfile & "\VBS.txt"
     
    ' *****************************************************
    ' Create the text file
    ' *****************************************************
     
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile fileName
    'WScript.Echo fileName
    Set objFile=objFSO.CreateTextFile(fileName,true)
    objFile.WriteLine ("Connexion au domaine MYDOMAIN" & now)
    objFile.WriteLine ("Serveur d'authentification : " & strLogonServer)
    objFile.WriteLine ("Script: GRPETUDES.VBS")
     
     
    ' ***********************************************************
    ' 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$"
    	If Err then
    		objFile.WriteLine ("Erreur Disque Z: \\1.1.1.1\FrPrjSumm$" & err.number & " " & err.description)
    		Err.Clear   
    	End if
    	On Error GoTo 0
    	Else	
    	End If
     
    Next

  8. #8
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 380
    Points : 5 730
    Points
    5 730
    Par défaut
    Bonjour;
    Peut-être que le fichier est en lecture seule, dans ce cas utilise la syntaxe : objFSO.DeleteFile fileName, True ,
    ou mieux encore If objFSO.FileExists(fileName) Then objFSO.DeleteFile fileName, True
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  9. #9
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    Non, ça ne résout pas le problème, j'ai toujours une permission refusée (code 800A0046) lorsque le script tente de supprimer le fichier.


    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
     
    ' *****************************************************
    ' Create the text file
    ' *****************************************************
     
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(fileName) Then 
    	objFSO.DeleteFile (fileName), True
    End If
    Set objFile=objFSO.CreateTextFile(fileName,true)
     
    'WScript.Echo fileName
     
    objFile.WriteLine ("Connexion au domaine MyDomain le " & now)
    objFile.WriteLine ("Serveur d'authentification : " & strLogonServer)
    objFile.WriteLine ("Script: GRPETUDES.VBS")

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 555
    Points : 13 791
    Points
    13 791
    Par défaut
    Salut

    Si la proposition de l_autodidacte ( ) ne remplis pas le job, mais comme tu dis, lorsqu'il est lancé à l'ouverture de session par GPO, configure le fichier lancé pour qu'il est le jeton administrateur.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    Qu'est ce que tu entends par
    configure le fichier lancé pour qu'il est le jeton administrateur
    ?

    Il faut ajouter du code dans le script, dans ce cas, je ne sais pas faire.

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 555
    Points : 13 791
    Points
    13 791
    Par défaut
    Re Salut

    la solution doit être dans cette page GPO Script d’ouverture de session, il faut que tu parviennes à faire exécuter le VBS en tant qu'administrateur.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    Le script d'ouverture de session utilisateur s'effectue dans le contexte utilisateur et ne peut être élevé temporairement en tant qu'administrateur.

    J'ai du mal à croire que la suppression d'un fichier appartenant au même utilisateur nécessite des droits d'administrateur dans un script VBS.

    As tu une autre piste ?

  14. #14
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    J'ai modifié mon script mais j'ai une erreur car objFile n'est pas initialisé lorsque le fichier existe déjà.

    Comment puis-je initialiser objFile avec la valeur contenue dans fileName. J'ai essayé objFile = fileName mais j'ai toujours l'erreur.

    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
    ' *****************************************************
    ' Create the text file
    ' *****************************************************
    strUserProfile = wshShell.ExpandEnvironmentStrings( "%USERPROFILE%" )
    fileName = strUserProfile & "\VBS.txt"
     
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(fileName) Then 
    	objFile = fileName
    Else
    		Set objFile=objFSO.CreateTextFile(fileName,true)
    End If
     
     
    'WScript.Echo fileName
     
    objFile.WriteLine ("Connexion au domaine MyDomain " & now)
    objFile.WriteLine ("Serveur d'authentification : " & strLogonServer)
    objFile.WriteLine ("Script: GRPETUDES.VBS")

    J'ai le message suivant si le fichier VBS.txt existe déjà dans le profil utilisateur ou non, comme si objFile n'était pas initialisé.

    Nom : 1.JPG
Affichages : 37
Taille : 25,9 Ko

  15. #15
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    J'avoue ne plus rien comprendre à Visual Basic.

    Lorsque qu'il n'y a pas de fichier VBS.txt existant sur le profile utilisateur, il me créé bien le fichier VBS.txt maisme renvoi une erreur permission denied sur la ligne de la création du fichier: Set objFile=objFSO.CreateTextFile(fileName)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    strUserProfile = wshShell.ExpandEnvironmentStrings( "%USERPROFILE%" )
    strLogonServer = wshShell.ExpandEnvironmentStrings( "%LOGONSERVER%" )
    fileName = strUserProfile & "\VBS.txt"
     
    ' *****************************************************
    ' Create the text file
    ' *****************************************************
     
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    Set objFile=objFSO.CreateTextFile(fileName)

  16. #16
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    février 2006
    Messages
    1 275
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 1 275
    Points : 3 446
    Points
    3 446
    Par défaut
    bonjour,

    j'opterais pour une solution plus simple

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wshShell.run "net use Z: \\1.1.1.1\FrPrjSumm$ >>%userprofile%\vbs.log 2>&1"
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wshShell.run "net use Z: \\1.1.1.1\FrPrjSumm$"
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  17. #17
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    février 2006
    Messages
    1 275
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 1 275
    Points : 3 446
    Points
    3 446
    Par défaut
    ou si tu ne veux pas conserver la trace du backlog... je viens de lire ton dernier code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wshShell.run "net use Z: \\1.1.1.1\FrPrjSumm$ >%userprofile%\vbs.log 2>&1"
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  18. #18
    Membre à l'essai
    Inscrit en
    janvier 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    Merci pour ton retour, mais ce qui m’ennuie c'est d'avoir trop d'informations dans fichier log.

    Alors que je ne voulais récupérer que le code retour pour les lecteurs qui avaient rencontré un problème de mappage.

    Il doit bien y a voir un moyen d'écrire dans un fichier log à l'ouverture de session sans avoir un message d'acces denied, je ne dois pas être le seul à vouloir écrire ce genre de script.

  19. #19
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    février 2006
    Messages
    1 275
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 1 275
    Points : 3 446
    Points
    3 446
    Par défaut
    l'iimpossibilité, pour un simple compte utilisateur, de supprimer un fichier
    pourtant créé dans son répertoire userprofile pourrait venir
    de son absence de droits sur la corbeille.
    pour s'en assurer il faut vérifier s'il est possible pour l'utilisateur
    à partir de l'explorateur de supprimer un fichier de son répertoire sans
    déclencher l'UAC
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

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