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 :

Accéder à la SACL sous Windows Server 2003


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Accéder à la SACL sous Windows Server 2003
    Bonjour,

    Je suis débutant en VBScript et j'ai un problème lorsque je veux accéder à la System ACL sous windows server 2003. Je n'ai par contre aucun problème pour la DACL.

    Voici un bout de code (sale mais j'ai isolé le problème c'est tout) (/* J'ai enlevé toutes les constantes nécessaires...*/):

    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
     
    sub	main
    dim	osd, osdutil, osace, osacl, ocontainer
    dim	satrustee
     
    'Set ocontainer = GetObject("LDAP://ou=TF1,cn=vbscript,dc=ascotto,dc=test,dc=fr")
     
    'ocontainer.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_OWNER _
    '  Or ADS_SECURITY_INFO_GROUP Or ADS_SECURITY_INFO_DACL _
    '  Or ADS_SECURITY_INFO_SACL
     
     
    set osdutil = CreateObject("ADsSecurityUtility")                          'Création de l'objet ADsSecurity, permet entre autres de toucher aux droits
    osdutil.SecurityMask = canReadSacl										'Par défaut la SACL != accessible dc on la rend accessible
    set osd = osdutil.GetSecurityDescriptor("C:\Documents and Settings\Administrator\prog\vbscript", ADS_PATH_FILE, ADS_SD_FORMAT_IID)
     
    'Set osd = ocontainer.Get("ntSecurityDescriptor")
     
     
    set osacl = osd.SystemAcl
    wscript.echo "group --> " & osd.Group & " control --> " & osd.Control & " owner --> " & osd.Owner
    If (osd.Control And SE_SACL_PROTECTED) Then
    	Wscript.Echo "SACL is disabled."
    Else
    	WScript.Echo "SACL is enabled."
    end if
    if (IsObject(osacl)) then
    	wscript.echo "osacl is object"
    end if
    wscript.echo "acecount --> " & osacl.acecount
    for each osace in osacl
    		satrustee = osace.Trustee
    		wscript.echo "trustee " & satrustee
    next
    end sub
    Voici le résultat lorsque j'exécute le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\Documents and Settings\Administrator\prog\vbscript\lssacl.vbs(230, 1) (null):
     A required privilege is not held by the client.
    Sachant que je suis sur un contrôleur de domaine et que je suis admin du domaine.

    J'ai au début essayé en modifiant cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set osd = osdutil.GetSecurityDescriptor("C:\Documents and Settings\Administrator\prog\vbscript", ADS_PATH_FILE, ADS_SD_FORMAT_IID)
    par celle là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set osd = osdutil.GetSecurityDescriptor("\\ma_machine\vbscript$", ADS_PATH_FILESHARE, ADS_SD_FORMAT_IID)
    Le $ est nécessaire puisque le partage est créé en $. et voici l'erreur que j'ai eu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\Documents and Settings\Administrator\prog\vbscript\lssacl.vbs(246, 1) Microso
    ft VBScript runtime error: Object required: 'osacl'
    Je sais que c'est réalisable par une chaîne LDAP comme réalisé ici: http://www.activexperts.com/activmon...ersgroups/ous/

    Mais je veux absolument éviter cette méthode car mon programme est bien plus long et fonctionne avec le sharepath (\\serveur\share).

    Voilà ça fait maintenant quelques jours que je bloque et de l'aide serait la bienvenue.

    Merci d'avance...

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    et comment on sait laquelle c'est la ligne 246 ..?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ahh une réponse c'est déjà ça.

    Oui pour la ligne je n'avais pas remarqué.Donc pour la première erreur, c'est la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set osd = osdutil.GetSecurityDescriptor("C:\Documents and Settings\Administrator\prog\vbscript", ADS_PATH_FILE, ADS_SD_FORMAT_IID)
    Pour la seconde erreur, voici la ligne incriminée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wscript.echo "acecount --> " & osacl.acecount
    Merci,

Discussions similaires

  1. recupération de données sous windows server 2003
    Par prefna dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/07/2006, 18h39
  2. WAMP5 sous Windows Server 2003
    Par romulus dans le forum Apache
    Réponses: 11
    Dernier message: 16/06/2006, 15h38
  3. Outils d'administration vide sous Windows Server 2003
    Par FoxDeltaSierra dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 30/11/2005, 09h32
  4. pb installation de sql server 2000 sous windows server 2003
    Par timsah dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 02/10/2005, 14h06
  5. XP home sous Windows Server 2003
    Par beegees dans le forum Windows XP
    Réponses: 2
    Dernier message: 05/07/2005, 09h00

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