bonjour MCI (ex do ré Mi chel la si do) [MVP],
Dans le news MCI (ex do ré Mi chel la si do) [MVP] tapote :
> Bonsoir !
>
> Merci de m'avoir lu.
>
> Mais, je donne quelques précisions (qui me coincent) :
> - le propriétaire est SYSTEM
> - les utilisateurs ont juste l'accès en lecture
> - wscsvc a un droit d'accès "special" ; mais "wscsvc" est un service
> (c'est le centre de sécurité), et non un utilisateur.
> - dans les autorisations + avancés, je vois bien qu'il n'y a pas
> d'héritage. D'ailleurs, j'ai accès aux parents de Svc ; mais pas à Svc
> et en dessous.
> - aller bricoler les droits des branches n'est pas une bonne
> solution. En effet, chez moi, j'ai déjà mis les bons paramètres ;
> mais, ce que je voudrais, c'est pouvoir modifier les clefs par
> script, pour faire un utilitaire public.
> Et, c'est le dernier point qu'il me reste à régler...
>
> @-salutations
>
> Michel Claveau
perso pour mon script mon problème ressemblais au tien et après avoir galéré
un moment je ai trouvé que de modifier la clef User réglait mon problème. la
clef "PowerSchemes" n'est elle aussi autorisé que pour "system" en écriture
et uniquement en lecture pour "administrateur" et il me semble bien que
comme pour toi on ne voyait pas d'héritages de parent pour certaines des
sous clef de PowerSchemes qu'il me fallait modifier et étonnamment modifier
les droits directement sur PowerSchemes (ce qui était possible) en demandant
de remplacer les autorisations des objets enfants ne marchais pas et j'ai
jamais trop cherché pourquoi trop content d'avoir déjà une solution
fonctionnelle
si ça peut te servir dans mon script VBS je modifie les droits avec
l'utilitaire setacl.exe (mais il existe aussi un outils Microsoft qui fait
ça) de cette manière :
'----------------------------------------
'1 - modif autorisation registre avec setacl.exe
'----------------------------------------
Dim WshShellrs1
Set WshShellrs1=Wscript.CreateObject("Wscript.shell")
setaclCommande = numcdrom & "\setACL.exe -on " & chr(34) &
"hklm\SYSTEM\CurrentControlSet\Control\Power\U ser" & chr(34) & " -ot
reg -rec cont_obj -actn ace -ace " & chr(34) &
"n:\administrateurs;m:set;p:full" & chr(34)
WshShellrs1.run setaclCommande,SW_SHOWNORMAL
'----------------------------------------
une fois la modification faite, rien ne t'empêche de remettre au besoin les
droits d'origine à la fin du script et ton problème est réglé, le tout est
de trouver la bonne clef a modifier.
Sous vista ce qui m'a donné le plus de mal ça a été de trouver comment
autoriser mon script à se lancer en 'run as admin' car sinon il des modif
qui se faisaient sans PB sou XP ne fonctionnaient pas sous Vista et au
passage je désactive aussi l'uac pendant son déroulement pour éviter une
flopée de demande de confirmation qu'il générait :-(
Pour ça (entre autres) je hais l'UAC lol bien sur je le remet malgré tout
bien proprement à la fin de mon script ;-)
--
Olivier B.
MVP Windows Shell/User
"le savoir est fait pour être partagé"
http://www.benquet.com
merci de ne répondre que dans le newsgroup
sinon retirer le "pas_de_spam_" devant mon adresse
(adresse rarement relevée)