[..] Sript AutoIt pour changer les permissions ntfs

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
FredAI
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 30 nov. 2010 16:37
Status : Hors ligne

[..] Sript AutoIt pour changer les permissions ntfs

#1

Message par FredAI »

Salut à tous.

J'aimerais savoir s'il y a une fonction pour gérer les permissions ntfs sans passer par la commande cacls.

Je parle d'une fonction intégrée dans le code du script, sans utiliser aucun exécutable extérieur.

Merci d'avance.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sript AutoIt pour changer les permissions ntfs

#2

Message par Tlem »

Message déplacé dans le bon forum.

En ce qui concerne votre question, la réponse est non, il n'existe pas pour l'instant de fonctions intégrées à AutoIt pour la gestion des droits NTFS.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Sript AutoIt pour changer les permissions ntfs

#3

Message par sylvanie »

vous avez par contre un moyen détourné via l'utilisation de Xcacls de Microsoft :
http://support.microsoft.com/kb/318754/fr
c'est une exe en ligne de commande permettant de gérer les droits ntfs en ligne de commande.
Ainsi, vous pouvez l'embarquer dans votre exe par la commande Fileinstall puis l'utiliser pour arriver à vos fins.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
FredAI
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 30 nov. 2010 16:37
Status : Hors ligne

Re: [..] Sript AutoIt pour changer les permissions ntfs

#4

Message par FredAI »

Merci à vous deux pour les réponses.

Comme je l'avais dit, je cherche une fonction autonome. Plutôt que d'utiliser cacls ou xcacls je peux utiliser setacl, beaucoup plus performant et complet.

J'explique: Je suis en train de créer un logiciel de suppression de malwares, du genre OTL, mais plus puissant et avancé.

Pour la fonction qui supprime les fichiers, j'utilise ce code:

Code : Tout sélectionner

Func DelItem()
; Le programme cherche un processus correspondant au fichier à supprimer et s'il le trouve, il l'arrête (deux fois).
; Un grand merci à Matwachich pour ces fonctions magnifiques. La variable $ItemToDel correspond
; au chemin complet du fichier ou dossier à supprimer.

    If _processPathExists($ItemToDel) Then
        _ProcessClosePath($ItemToDel)
    EndIf
    If _processPathExists($ItemToDel) Then
        _ProcessClosePath($ItemToDel)
    EndIf

; Il essaye d'envoyer l'item vers la corbeille...

    FileRecycle ($ItemToDel)

; S'il n'arrive pas, il sera supprimé au prochain redémarrage par un script compilé pré-installé par ce programme et qui contient cette fonction aussi.

    If FileExists($ItemToDel) Then
        RegWrite ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "Delete " & $ItemToDel & " OnNextReboot", "REG_SZ", @AppDataDir & "\Carifred\UVK\Rebdelete.exe " & '"' & $ItemToDel & '"')
        $DelOnReboot += 1

;Si un control Checkbox est coché, un rapport des suppressions sera crée.

        If $MakeLog = 1 Then
                FileOpen ($LogFile, 9)
                FileWrite ($LogFile, "     Scheduled for removal on next reboot: " & @CRLF & $ItemToDel & @CRLF & @CRLF)
                FileClose(-1)
        EndIf
        Else
                FileOpen ($LogFile, 9)
                FileWrite ($LogFile, "     Successfuly deleted:" & @CRLF & $ItemToDel & @CRLF & @CRLF)
                FileClose(-1)

    EndIf

EndFunc
 
Ça marche à merveille, et le programme avance bien, mais je veux créer dans cette fonction un code qui bloque l'accès à l'item à supprimer, et le débloque et supprime au redémarrage. Ceci assurera que les fichiers ou répertoires ne seront pas en utilisation lors de la suppression.

Si quelqun a une idée, elle sera toujours bienvenue.
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Sript AutoIt pour changer les permissions ntfs

#5

Message par Laddy »

Bonjour
je répond juste pour les permissions :
http://www.autoitscript.com/forum/topic ... om-script/
http://www.autoitscript.com/forum/topic ... s-objects/
http://www.autoitscript.com/forum/topic ... ntry265542

celui ci est un support vbs mais peut etre intéressant :
http://helgeklein.com/setacl/examples/s ... etacl-ocx/

tiens moi au courant je suis curieuse du résultat.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Sript AutoIt pour changer les permissions ntfs

#6

Message par sksbir »

FredAI a écrit : Comme je l'avais dit, je cherche une fonction autonome. Plutôt que d'utiliser cacls ou xcacls je peux utiliser setacl, beaucoup plus performant et complet.
C'est également ce que j'utilise et je n'ai rien trouvé de mieux à ce jour.

Voila à quoi ça ressemble chez moi :
► Afficher le texte
Répondre