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 :

droit d'écriture à tester


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut droit d'écriture à tester
    Bonjour,

    mon problème est, je pense, simple. Je dois tester le droit d'écriture dans 3 dossiers différents. S'il n'a pas le droit en écriture, je dois tester le suivant etc. comment faire pour tester sa ?

    Je suis partis dans l'optique de créer un fichier dans chaque dossier avec FSO.OpenTextFile mais je ne sais pas comment traiter les erreurs.

    merci de votre aide

  2. #2
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Salut!

    C'est une méthode un peu sale, mais effectivement ça devrait fonctionner.
    Pour faire cela, une petite fonction d'écriture du fichier texte avec test de 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
     
    Function WriteAccess(strFolderPath)
    	Set objFso = CreateObject("Scripting.FileSystemObject")
    	On Error Resume Next
    	strTmpFile = objFso.GetTempName
    	Set objTmpFile = objFso.CreateTextFile(strFolderPath & strTmpFile)
    	If Err.Number <> 0 Then
    		WriteAccess = False
    		Err.Clear
    	Else
    		WriteAccess = True
    		objTmpFile.Close
    		objFso.DeleteFile strFolderPath & strTmpFile
    	End If
    End Function
     
    'Main
    strFolder = "\\server\share\"
    WScript.Echo "Acces en écriture au partage " & strFolder & " : " & WriteAccess(strFolder)
    (code non testé pour info, mais ça devrait ressembler à ça)

    Sinon, pour faire plus propre, il faudrait peut-être se pencher sur le listing des ACL du dossier distant, comparé aux groupes de ton utilisateur, mais c'est vrai que c'est un peu plus compliqué à faire.

    Bonne continuation!

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    merci de ton aide.

    mais c'est vraiment pour un check basique donc voila j'ai opté pour du encore plus sale et basique. j'ai fais un simple .bat qui fais un mkdir à l'endroit souhaité et ensuite avec le %ERRORLEVEL% sa me permet de checker mon droit en écriture ;-)

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par pitchalov Voir le message
    Sinon, pour faire plus propre, il faudrait peut-être se pencher sur le listing des ACL du dossier distant, comparé aux groupes de ton utilisateur, mais c'est vrai que c'est un peu plus compliqué à faire.

    voila un début de code pour créer et tester le dossier en lecture seule en utilisant l'outil cacls en ligne de commande:
    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
    Set Ws = CreateObject("Wscript.Shell")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FolderExists("c:\DossierLectureseule") Then
    FSO.CreateFolder ("c:\DossierLectureseule")
    end if
    If FSO.FolderExists("c:\DossierLectureseule") Then ' le paramètre r pour la lecture seule
    Command1 = "%COMSPEC% /c Echo o| cacls c:\DossierLectureseule /g " & qq(NomMachine) & ":r administrateurs:r > LectureSeule.txt"
    Command2 = "%COMSPEC% /c Echo o| cacls c:\DossierLectureseule > Permission.txt"
    Result1 = Ws.Run(Command1,0,True)'exécution de la commande sans afficher la console MS-DOS
    Result2 = Ws.Run(Command2,0,True)'exécution de la commande sans afficher la console MS-DOS
    End if
    Set ReadOutPut = fso.OpenTextFile("Permission.txt",1)
    st = ReadOutPut.ReadAll
    tb = split(st,vbcrlf)
    MsgBox tb(0),64,"1ère Ligne" 'on recupére la 1ère ligne
    'Puis tu recupère le dernier caractére qui devrait être R
    'alors si le caractére est le R alors le dossier est en lecture seule
     
    Function qq(strIn)
        qq = Chr(34) & strIn & Chr(34)
    End Function
    Bonne Continuation

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

Discussions similaires

  1. [Système] Droit d'écriture via script php
    Par winnie82 dans le forum Langage
    Réponses: 4
    Dernier message: 10/04/2006, 11h40
  2. [Apache] donner les droits d'écriture pour PHP
    Par Torpedox dans le forum Apache
    Réponses: 4
    Dernier message: 07/01/2006, 15h01
  3. Tester les droits en écriture sur une table en VBA ?
    Par yerome60 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2005, 21h43
  4. Réponses: 5
    Dernier message: 05/07/2005, 19h05
  5. droits en écriture sur le réseau
    Par julien20vt dans le forum MFC
    Réponses: 4
    Dernier message: 25/03/2004, 11h29

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