Modification base de registre par .bat

Le
Richard_35
Bonjour à tous,

Je sèche sur un problème de modification de BDR par un .bat.
Lien : http://cjoint.com/?lnkq2g6Sb6

Un .bat (netlog01_ok.bat) appelle un .reg (netlog01_ok.reg) puis un autre
.reg (netlog01_ok_BDR.reg).

Symptôme :
Le 1er .reg s'exécute sans problème ;
Le 2ème .reg ne s'exécute pas.

Essai :
J'ai copié, tel quel le 2ème .reg sur mon bureau : il s'exécute sans problème.
J'ai mis des "pause" dans le .bat appelant, retiré le "/s" : pour le 1er
.reg, Windows me demande la confirmation, modifie bien la BDR, et me dit que
la BDR a été modifiée ; pour le 2ème .reg, Windows me demande la
confirmation, ne modifie pas la BDR, et me dit que la BDR a été modifiée.

Je sèche
Merci de vos conseils,
Richard.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JF
Le #17830021
*Bonjour Richard_35 * !

Bonjour à tous,



Je sèche sur un problème de modification de BDR par un .bat.
Lien : http://cjoint.com/?lnkq2g6Sb6



Un .bat (netlog01_ok.bat) appelle un .reg (netlog01_ok.reg) puis un autre
.reg (netlog01_ok_BDR.reg).



Symptôme :
Le 1er .reg s'exécute sans problème ;
Le 2ème .reg ne s'exécute pas.



Essai :
J'ai copié, tel quel le 2ème .reg sur mon bureau : il s'exécute sans
problème. J'ai mis des "pause" dans le .bat appelant, retiré le "/s" : pour
le 1er .reg, Windows me demande la confirmation, modifie bien la BDR, et me
dit que la BDR a été modifiée ; pour le 2ème .reg, Windows me demande la
confirmation, ne modifie pas la BDR, et me dit que la BDR a été modifiée.



Je sèche...
Merci de vos conseils,
Richard.



Ça marche ici (en local).
Pourquoi ne pas faire un seul reg ?
Ou utiliser la commande reg.exe ?

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Les vecteurs d'infection www.libellules.ch/dangers_logiciels.php
Fred
Le #17830511
in news:, Richard_35
wrote :

Bonjour à tous,



Bonjour,

Je sèche sur un problème de modification de BDR par un .bat.
Lien : http://cjoint.com/?lnkq2g6Sb6



C'est dans le cadre d'un domaine ?
Je vois que tu touches aux clés Policies.
Normalement elles ne sont (ne devraient) pas être modifiables par
l'utilisateur puiqu'elles sont destinées à être modifiées par
l'application de stratégies de groupe.

--
Fred

Richard_35
Le #17831311
Bonjour JF et Fred,

JF :
En local, chez moi, le 2ème .reg ne fonctionne pas ;
J'ai essayé, avec un seul .reg : même symptôme (1er=OK, 2ème=KO) ;
Je sais j'abuse mais, peux-tu me donner la traduction de mes .reg en reg.exe ?

Fred :
Oui, c'est dans le cadre d'un domaine, mais je ne passe pas par les GPO. Mon
.bat est lancée via un RunAs sous le compte administrateur.

Merci de vos conseils,
Richard.


"Fred" a écrit :

in news:, Richard_35
wrote :

> Bonjour à tous,

Bonjour,

> Je sèche sur un problème de modification de BDR par un .bat.
> Lien : http://cjoint.com/?lnkq2g6Sb6

C'est dans le cadre d'un domaine ?
Je vois que tu touches aux clés Policies.
Normalement elles ne sont (ne devraient) pas être modifiables par
l'utilisateur puiqu'elles sont destinées à être modifiées par
l'application de stratégies de groupe.

--
Fred





Jean-Claude BELLAMY
Le #17832191
"Richard_35" de news:
Bonjour JF et Fred,

JF :
En local, chez moi, le 2ème .reg ne fonctionne pas ;
J'ai essayé, avec un seul .reg : même symptôme (1er=OK, 2ème=KO) ;
Je sais j'abuse mais, peux-tu me donner la traduction de mes .reg en
reg.exe ?

Fred :
Oui, c'est dans le cadre d'un domaine, mais je ne passe pas par les GPO.
Mon
.bat est lancée via un RunAs sous le compte administrateur.



Aaaaaaaarrrrrrrrrrrrrrgggggggggggghhhhhhhhhhhhh !
Mais il fallait le dire tout de suite que tu passais par un "Runas" !!!!!!

C'est normal que la 2ème clef, celle dans HKCU, n'APPARAISSE pas modifiée !
En fin de compte, elle a bien été modifiée, mais pas celle que tu crois !


Admettons que tu travailles sous le compte "HOMER" (mon favori! ;-))
HKCU contient normalement le NTUSER.DAT de c:documents and settingsHOMER

Mainteant, tu lance un RUNAS - je présume sans commutateurs spéciaux - sur
le compte "Administrateur".
DONC HKCU contient à présent NTUSER.DAT de c:documents and
settingsAdministrateur !!!!


Si tu veux modifier le NTUSER.DAT de "HOMER", il faut indiquer à RUNAS de ne
pas charger le profil de "Administrateur"!
Et pour cela, utiliser le commutateur "/NETONLY"
Comme son nom ne le suggère pas, ce commutateur permet de prendre en compte
les infos de login (username/password) uniquement pour l'ouverture de
session, mais c'est tout, on conserve tout le reste (environnement
utilisateur, ruche HKCU) du compte utilisateur initial.

Syntaxe de RUNAS :

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<Nom_utilisateur> programme
[...]
/netonly à utiliser si les informations d'identification spécifiées
sont pour l'accès à distance uniquement

la commande doit donc être (dans ton cas)
Runas /NETONLY /user:Administrateur ......



Tu peux vérifier et mieux comprendre cela avec l'expérience suivante :

1) Exécute la commande :
runas /user:administrateur regedit.exe
et une fois que Regedit est ouvert, examine la clef :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell
FoldersDesktop
Tu vas y trouver (p.ex.)
C:UsersAdministrateurDesktop (NB: j'ai fait la manip sous Vista)
Ce qui prouve que HKCU est à présent la ruche du compte "Administrateur"

2) A présent, exécute la commande :
runas /netonly /user:administrateur regedit.exe
et une fois que Regedit est ouvert, réexamine la même clef :
Elle va contenir (p.ex.)
C:UsersBELLAMYDesktop (j'ai fait cela sous mon compte)
Ce qui prouve que HKCU n'a pas été modifié, avec le compte d'origine, bien
que la connexion ait été faite sous le compte "Administrateur".

Ainsi on peut rendre Windows ... schizophrène !!! ;-)
"To be or not to be ... administrator.."


Ai-je été suffisamment clair quant à cette subtilité ?


PS : certains vont peut-être se demander "Mais si on indique /NOPROFILE,
quel NTUSER.DAT est alors pris encompte" ?
Et bien dans ce cas, c'est la ruche "%systemroot%system32configDEFAULT",
que l'on peut voir également dans la branche HKEY_USERS.DEFAULT !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
JF
Le #17832831
*Salut Richard_35 * !

peux-tu me donner la traduction de mes .reg en reg.exe ?



set k=HKLMSYSTEMCurrentControlSetServicesUSBSTOR
REG ADD "%k%" /v Start /t REG_DWORD /d 3 /f

set k=HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
REG ADD "%k%" /v DisableRegistryTools /t REG_DWORD /d 0 /f

pause

reg add /?

pause
exit

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Avast ? Antivir ? AVG 8 ?
http://forum.malekal.com/viewtopic.php?t659#p89934
Richard_35
Le #17833661
Merci de vos réponses Jean-Claude et JF.

Jean-Claude :
En effet, il y a des subtilités concernant l'utilisateur en cours (HCKU), le
profil de connexion (/user...) et le PC (HKLM) dans l'instruction RunAs.
Le /netonly résoud mon cas (droits admin) mais pas le cas des utilisateurs
de base. Je suis en train de tester toutes les possibilités...

JF :
Je n'avais pas trouvé à cause du commutateur "/f"... je cherchais, bêtement,
REG CHANGE ou REG UPDATE, un truc du style...
Il fallait, en effet, trouver que ADD avec "/f" équivaut à une modification.
Peut-être est-ce arrivé à pas mal de personne...

Merci encore.
Je teste tout ça et je vous dis,
Richard.

"JF" a écrit :

*Salut Richard_35 * !

> peux-tu me donner la traduction de mes .reg en reg.exe ?

set k=HKLMSYSTEMCurrentControlSetServicesUSBSTOR
REG ADD "%k%" /v Start /t REG_DWORD /d 3 /f

set k=HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
REG ADD "%k%" /v DisableRegistryTools /t REG_DWORD /d 0 /f

pause

reg add /?

pause
exit

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Avast ? Antivir ? AVG 8 ?
http://forum.malekal.com/viewtopic.php?t659#p89934





Richard_35
Le #17833791
Voici les résultats du RunAs avec /user:administrateur... :

moi + netonly = HKLM-OK et HKCU-OK
user + netonly = HKLM-non et HKCU-non

moi + profile = HKLM-non et HKCU-OK
user + profile = HKLM-OK et HKCU-non

moi + noprofile = HKLM-OK et HKCU-non
user + noprofile = HKLM-OK et HKCU-non

moi + rien = HKLM-OK et HKCU-non
user + rien = HKLM-OK et HKCU-non

Bref, je n'arrive jamais à appliquer, aux users de base :
"[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]
"DisableRegistryTools"=dword:00000000

... ce qui est, quand même, le but final...

Je n'ai pas essayé le reg.exe mais, je pense que si Windows est cohérent, ce
sera la même chose.

Merci de votre assistance car, je sèche...
Richard.


"Richard_35" a écrit :

Merci de vos réponses Jean-Claude et JF.

Jean-Claude :
En effet, il y a des subtilités concernant l'utilisateur en cours (HCKU), le
profil de connexion (/user...) et le PC (HKLM) dans l'instruction RunAs.
Le /netonly résoud mon cas (droits admin) mais pas le cas des utilisateurs
de base. Je suis en train de tester toutes les possibilités...

JF :
Je n'avais pas trouvé à cause du commutateur "/f"... je cherchais, bêtement,
REG CHANGE ou REG UPDATE, un truc du style...
Il fallait, en effet, trouver que ADD avec "/f" équivaut à une modification.
Peut-être est-ce arrivé à pas mal de personne...

Merci encore.
Je teste tout ça et je vous dis,
Richard.

"JF" a écrit :

> *Salut Richard_35 * !
> >
> > peux-tu me donner la traduction de mes .reg en reg.exe ?
>
> set k=HKLMSYSTEMCurrentControlSetServicesUSBSTOR
> REG ADD "%k%" /v Start /t REG_DWORD /d 3 /f
>
> set k=HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
> REG ADD "%k%" /v DisableRegistryTools /t REG_DWORD /d 0 /f
>
> pause
>
> reg add /?
>
> pause
> exit
>
> --
> Salutations, Jean-François
> Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
> Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
> Avast ? Antivir ? AVG 8 ?
> http://forum.malekal.com/viewtopic.php?t659#p89934
>
>
>


Mysoft
Le #17834021
Bonjour!

"Ainsi on peut rendre Windows ... schizophrène !!! ;-)
"To be or not to be ... administrator..""

Ah! C'était ça le problème de HAL! Il faudra en glisser un mot au Docteur
Sivasubramanian Chandrasegarampillai...

;-)

Bonne journée!


"Jean-Claude BELLAMY" message de news: %23l06%23%
"Richard_35" de news:
Bonjour JF et Fred,

JF :
En local, chez moi, le 2ème .reg ne fonctionne pas ;
J'ai essayé, avec un seul .reg : même symptôme (1er=OK, 2ème=KO) ;
Je sais j'abuse mais, peux-tu me donner la traduction de mes .reg en
reg.exe ?

Fred :
Oui, c'est dans le cadre d'un domaine, mais je ne passe pas par les GPO.
Mon
.bat est lancée via un RunAs sous le compte administrateur.



Aaaaaaaarrrrrrrrrrrrrrgggggggggggghhhhhhhhhhhhh !
Mais il fallait le dire tout de suite que tu passais par un "Runas" !!!!!!

C'est normal que la 2ème clef, celle dans HKCU, n'APPARAISSE pas modifiée
!
En fin de compte, elle a bien été modifiée, mais pas celle que tu crois !


Admettons que tu travailles sous le compte "HOMER" (mon favori! ;-))
HKCU contient normalement le NTUSER.DAT de c:documents and settingsHOMER

Mainteant, tu lance un RUNAS - je présume sans commutateurs spéciaux - sur
le compte "Administrateur".
DONC HKCU contient à présent NTUSER.DAT de c:documents and
settingsAdministrateur !!!!


Si tu veux modifier le NTUSER.DAT de "HOMER", il faut indiquer à RUNAS de
ne pas charger le profil de "Administrateur"!
Et pour cela, utiliser le commutateur "/NETONLY"
Comme son nom ne le suggère pas, ce commutateur permet de prendre en
compte les infos de login (username/password) uniquement pour l'ouverture
de session, mais c'est tout, on conserve tout le reste (environnement
utilisateur, ruche HKCU) du compte utilisateur initial.

Syntaxe de RUNAS :

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<Nom_utilisateur> programme
[...]
/netonly à utiliser si les informations d'identification spécifiées
sont pour l'accès à distance uniquement

la commande doit donc être (dans ton cas)
Runas /NETONLY /user:Administrateur ......



Tu peux vérifier et mieux comprendre cela avec l'expérience suivante :

1) Exécute la commande :
runas /user:administrateur regedit.exe
et une fois que Regedit est ouvert, examine la clef :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell
FoldersDesktop
Tu vas y trouver (p.ex.)
C:UsersAdministrateurDesktop (NB: j'ai fait la manip sous Vista)
Ce qui prouve que HKCU est à présent la ruche du compte "Administrateur"

2) A présent, exécute la commande :
runas /netonly /user:administrateur regedit.exe
et une fois que Regedit est ouvert, réexamine la même clef :
Elle va contenir (p.ex.)
C:UsersBELLAMYDesktop (j'ai fait cela sous mon compte)
Ce qui prouve que HKCU n'a pas été modifié, avec le compte d'origine, bien
que la connexion ait été faite sous le compte "Administrateur".

Ainsi on peut rendre Windows ... schizophrène !!! ;-)
"To be or not to be ... administrator.."


Ai-je été suffisamment clair quant à cette subtilité ?


PS : certains vont peut-être se demander "Mais si on indique /NOPROFILE,
quel NTUSER.DAT est alors pris encompte" ?
Et bien dans ce cas, c'est la ruche
"%systemroot%system32configDEFAULT", que l'on peut voir également dans
la branche HKEY_USERS.DEFAULT !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org



moi
Le #17834851
Bonjour,


Bref, je n'arrive jamais à appliquer, aux users de base :
"[HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]
"DisableRegistryTools"=dword:00000000




Attention avec cette stratégie :

"Désormais"
la stratégie "DisableRegistryTools" fonctionne avec trois choix :

Dans

valeurs possibles :

0 Regedit peut démarrer dans le mode interactif et le mode
silencieux.

1 Regedit ne peut être démarré qu'en mode silencieux (regedit /s).

2 Regedit ne peut pas pas du tout être démarré.
======================================================== A l'origine il n'y avait que deux valeurs possibles ( 0 ou 1)
mais

Sur les vieilles stations XP (pas SP2)
le comportement avec la valeur 1 correspondait à la valeur 2
ci-dessus.

Sur Win2k
le comportement avec la valeur 1 correspond à la valeur 1 ci-dessus.
========================================================
Ce problème qui provoquait des distinctions gênantes entre W2k et
WinXP
a été corrigé après coup... ( correctif présent dans SP2)

Les valeurs possibles pour cette valeur de la BdR
ont été enrichies à ce moment là ... ( une de plus ...)
============================================================= A ma connaissance, L'adm fourni par MS utilise toujours les "valeurs
par défaut"
c'est à dire 0 et 1 (le 2 n'est donc pas géré)

Extrait :
------------------------------------------------------------------------------
POLICY "Désactiver les outils d'édition du registre (regedit et
regedt32)"
KEYNAME
"SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem"
VALUENAME "DisableRegistryTools"
END POLICY
------------------------------------------------------------------------------

Cela veut dire que sur des XP "anciennes" (pas SP2)
la stratégie bloquera regedit /s
alors que sur les XP "récentes" ( SP2)
la stratégie ne bloquera pas regedit /s
==========================================================
Quoi qu'il en soit REG sera toujours utilisables dans un script
exécuté
sous l'autorité de l'utilisateur si les clé visées lui sont
accessibles en écriture...
( je pense que REGINI passera aussi )

HB
JF
Le #17837361
*Bonjour moi * !

Bonjour,




Bref, je n'arrive jamais à appliquer, aux users de base :
"[HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]
"DisableRegistryTools"=dword:00000000






Attention avec cette stratégie :



"Désormais"
la stratégie "DisableRegistryTools" fonctionne avec trois choix :



Dans



valeurs possibles :



0 Regedit peut démarrer dans le mode interactif et le mode silencieux.



1 Regedit ne peut être démarré qu'en mode silencieux (regedit /s).



2 Regedit ne peut pas pas du tout être démarré.
======================================================== > A l'origine il n'y avait que deux valeurs possibles ( 0 ou 1)
mais



Sur les vieilles stations XP (pas SP2)
le comportement avec la valeur 1 correspondait à la valeur 2 ci-dessus.



Sur Win2k
le comportement avec la valeur 1 correspond à la valeur 1 ci-dessus.
========================================================
Ce problème qui provoquait des distinctions gênantes entre W2k et WinXP
a été corrigé après coup... ( correctif présent dans SP2)



Les valeurs possibles pour cette valeur de la BdR
ont été enrichies à ce moment là ... ( une de plus ...)
============================================================= > A ma connaissance, L'adm fourni par MS utilise toujours les "valeurs par
défaut"
c'est à dire 0 et 1 (le 2 n'est donc pas géré)



Extrait :
------------------------------------------------------------------------------
POLICY "Désactiver les outils d'édition du registre (regedit et regedt32)"
KEYNAME "SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem"
VALUENAME "DisableRegistryTools"
END POLICY
------------------------------------------------------------------------------



Cela veut dire que sur des XP "anciennes" (pas SP2)
la stratégie bloquera regedit /s
alors que sur les XP "récentes" ( SP2)
la stratégie ne bloquera pas regedit /s
==========================================================
Quoi qu'il en soit REG sera toujours utilisables dans un script exécuté
sous l'autorité de l'utilisateur si les clé visées lui sont accessibles en
écriture...
( je pense que REGINI passera aussi )



HB



Bien vu.
Source W2000 avec seulement 0 et 1 :
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/93466.mspx

Évolution avec XP et Server 2003 (0, 1, 2) :
Modifications de stratégie
Empêcher l'accès aux outils de modification du Registre
dans Windows XP et dans Windows Server 2003
http://support.microsoft.com/kb/831787/fr
==>

DisableRegistryTools=0
L'Éditeur du Registre peuvent être démarrés soit en mode interactif ou
en mode silencieux.

DisableRegistryTools=1
L'Éditeur du Registre peut uniquement être démarrée en mode silencieux
(/s REGEDIT). Il s'agit du comportement par défaut dans Windows 2000 et
dans Windows NT 4.0 lorsque la stratégie Empêcher accès aux outils de
modification du Registre est appliquée.

DisableRegistryTools=2
L'Éditeur du Registre ne peut pas être démarré du tout. Il s'agit du
comportement par défaut dans Windows XP et Windows Server 2003 lorsque
la stratégie Empêcher accès aux outils de modification du Registre est
appliquée.



Quand la restriction est appliquée on a une insulte.
Avec 1 on peut encore utiliser regedit /s
Avec 2 seul reg.exe permet de remettre DisableRegistryTools=0
(testé).

gpedit.msc permet de choisir si on peut utiliser regedit /s
http://fspsa.free.fr/ng/DisableRegistryTools.gif

Merci pour ces infos.

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Participer à la dure lutte www.malekal.com/ProjetAntiMalwares.php
Publicité
Poster une réponse
Anonyme