[R] Attribuer des droits aux utilisateurs dans un dossier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

[R] Attribuer des droits aux utilisateurs dans un dossier

#1

Message par Lebalbo2013 »

Bonjour,
j'aimerais écrire un script qui attribue des droits de lecture-écriture-modification à tous les utilisateurs pour un répertoire applicatif se trouvant dans Program Files.Je ne sais pas quelles fonctions à utiliser pour le faire.
Je vous remercie d'avance pour votre retour.
Cordialement,
Stephane.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#2

Message par Y01 »

Bonjour,

Il faut utiliser CACLS.
Y01
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#3

Message par Lebalbo2013 »

Bonjour,
Merci pour votre réponse.Pourrais-je avoir la syntaxe complète svp?
Merci d'avance.
Cordialement,
Stephane.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#4

Message par Y01 »

J'ai mis un lien sous le mot CACLS, il suffit de cliquer dessus.

Je me permets par contre de vous déconseiller de mettre les pleins pouvoirs à tous les utilisateurs sur un quelconque dossier et pire encore s'il se trouve dans Program Files.
Y01
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#5

Message par Lebalbo2013 »

Merci,
Je n'avais pas cliqué sur votre lien.
Cordialement,
Stephane.
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#6

Message par Lebalbo2013 »

Je suis d'accord avec vous concernant les droits à attribuer aux utilisateurs.Cependant,il faut que les utilisateurs aient les droits de écriture-modification sur le répertoire de l'application et ses sous-répertoires.Sinon d'après l'éditeur l'application ne fonctionnera malheureusement pas.
Cordialement,
Stephane.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#7

Message par Y01 »

Plutôt que de s'amuser à modifier les droits sur toute une arborescence, ne serait-il pas plus propre d'installer l'application à la racine d'un disque ?

PS : Et je suppose que l'éditeur ne prévois pas de mise à jour pour régler ce problème de sécurité ?
Y01
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#8

Message par Lebalbo2013 »

Voici un script que je viens d'écrire mais qui visiblement ne fonctionne pas.Pourriez-vous me dire où se situe mon erreur svp?

Code : Tout sélectionner

RunWait(@ComSpec & " /C CACLS @ProgramFilesDir &"\Rep1\Sous_rep1" /g ""Tout le monde"":C")
Merci.
Cordialement,
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#9

Message par Y01 »

Lebalbo2013 a écrit :Voici un script que je viens d'écrire mais qui visiblement ne fonctionne pas.Pourriez-vous me dire où se situe mon erreur svp?

Code : Tout sélectionner

RunWait(@ComSpec & " /C CACLS @ProgramFilesDir &"\Rep1\Sous_rep1" /g ""Tout le monde"":C")
 
Merci.
Cordialement,
Ce n'est pas forcement la peine de passer par AutoIt pour faire cette modification étant donnée qu'elle est unique mais je vais essayer de corriger votre code.

Code : Tout sélectionner

RunWait(@ComSpec & "CACLS " & @ProgramFilesDir & "\Rep1\Sous_rep1\ /g 'Tout le monde':C"
Y01
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#10

Message par jguinch »

Il faut mettre le chemin entre doubles quotes s'il contient des espaces (c'est le cas pour c:\program files)

Code : Tout sélectionner

Run ( @ComSpec & ' /c cacls "' & @ProgramFilesDir & '\dossier" /E /T /P "tout le monde":C', @SystemDir )
 
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#11

Message par Lebalbo2013 »

J'ai compilé le script.Je n'ai eu aucun message d'erreur lors de la compilation mais lorsque je vérifie les droits,je constate que celà n'a pas fonctionné.les droits n'ont pas été affectés.
Cordialement,
Stephane.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#12

Message par jguinch »

Est-ce que tu as essayé d'exécuter la commande dans une invite de commande (sans passer par AutoIt) ?
Sinon, pour voir le résultat de la commande, tu peux essayer avec /k :

Code : Tout sélectionner

Run ( @ComSpec & ' /k cacls "' & @ProgramFilesDir & '\dossier" /E /T /P "tout le monde":C', @SystemDir )
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#13

Message par Y01 »

Je pense que ceci manque à votre script :

Code : Tout sélectionner

#RequireAdmin
Y01
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#14

Message par jguinch »

+1 pour #RequireAdmin :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#15

Message par Lebalbo2013 »

J'ai essayé de le faire en utilisant le script et en créant un batch.Mais celà ne fonctionne toujours pas.J'avoue ne pas comprendre ce qui se passe.Mon but est d'accorder des droits de lecture et écriture à tous les utilisateurs danscette arborescence.Ci-dessous le code:

Code : Tout sélectionner

ICACLS "%programfiles(x86)%\Test\test1\" /grant users:C

J'ai vraiment besoin d'aide.
Merci d'avance.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#16

Message par jguinch »

Ce que tu nous montres là n'est pas du code AutoIt !
En plus maintenant c'est icacls.exe ? Si tu changes tout le temps, je ne vois pas comment on pourra t'aider. :evil:
Donc merci de faire un effort et poster le code AutoIt que ne fonctionne pas.
Je t'avais suggéré plus haut d'utiliser le commutateur /k pour que la fenêtre CMD reste ouverte, ce qui permet de voir le résultat de la commande : l'as-tu testé ?
Le premier truc à faire, c'est déjà de faire marcher la commande (cacls, icacls, subinacl ou celle que tu veux) dans une invite de commande. Ensuite, si tu parviens à trouver la ligne de commande qui fonctionne, tu essaies de l'intégrer dans le code AutoIt (pour les exemple qu'on t'a fourni). Si sur ce point tu n'y arrives pas, on pourra t'aider.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#17

Message par Y01 »

D'accord avec jguinch, nous voulons bien vous aider mais il faut suivre un peu les "consignes".

Au pire, si vous ne comprenez pas comment utiliser le commutateur /k, essayez de passer votre commande dans une fenêtre CMD et en entrant les chemins en dur pour voir si la commande passe.

Vous pourrez modifier et adapter à partir du moment où la syntaxe initiale sera bonne.
Y01
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#18

Message par Lebalbo2013 »

Bonjour,
excusez mon manque de professionnalisme.Si j'ai mis un code en batch c'est parce que le code en Autoit(ce que je voudrais réaliser) ne fonctionnait pas.Cependant j'ai pu écrire un script batch qui fonctionne.vous trouverez ce script ci-dessous:

Code : Tout sélectionner

cacls "%ProgramFiles(x86)%\test1\test2" /T /E /C /G utilisateurs:C
Je voudrais savoir quelle est la macro autoit pour Program Files (x86) sachant que la macro "@ProgramFilesDir" fonctionne par défaut pour les programmes 64 bits (pour les machines en 64 bits biensûr).
Merci d'avance pour vos retours.j'ai pris note pour vos remarques.
Cordialement,
Stephane.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#19

Message par jguinch »

Pour %ProgramFiles(x86)%, la variable correspondante est @ProgramFilesDir si le programme est compilé en 32 bits (ce qui est le cas dans 90% des cas je pense).
Sinon, tu peux utiliser EnvGet("ProgramFiles(x86)")

Code : Tout sélectionner

RunWait(@ComSpec & ' /k cacls "' & EnvGet('ProgramFiles(x86)') & '\test1\test2" /T /E /C /G utilisateurs:C', @SystemDir)
 
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Lebalbo2013
Niveau 4
Niveau 4
Messages : 63
Enregistré le : ven. 19 déc. 2014 18:11
Status : Hors ligne

Re: [...] Attribuer des droits aux utilisateurs dans un doss

#20

Message par Lebalbo2013 »

Merci pour votre réponse.
Dans l'invite de commandes j'ai ce message: le chemin d'accès spécifié est introuvable.Pourtant il existe bel et bien.Je continue à chercher.
Cordialement,
Stéphane.
Répondre