Page 1 sur 1

[..] Modifier des valeurs de registre

Posté : lun. 01 juil. 2013 15:39
par m4sis
SAlut!

Voila afin de pouvoir utiliser WAKE on LAN avec mon serveur OCS j'ai besoin de modifier des valeurs dans la base de registre.

Je vous joins un screnn.

La Valeur "PnpCapabilities" a mettre en 38
La clé " WakeUPModeCap" si elle existe selon les modèles est a mettre en 1

Merci d'avance

Re: [..]Modifier Des valeurs de registres

Posté : lun. 01 juil. 2013 16:42
par mikell
Regarde la fonction RegWrite() dans le fichier d'aide

Re: [..] Modifier des valeurs de registre

Posté : mar. 02 juil. 2013 09:45
par m4sis
Salut,
J'ai essayer mais ca marche pas ...
► Afficher le texte

Re: [..] Modifier des valeurs de registre

Posté : mar. 02 juil. 2013 11:10
par jguinch
Tu peux ajouter #RequireAdmin en début de script.
L'écriture dans HKLM\System nécessite les droits suffisants et sans doute que l'UAC soit désactivé : est-ce le cas ?

Sinon, pour PnPCapabilities, je pense qu'il faudra enlever les doubles cotes pour la valeur :

Code : Tout sélectionner

RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0007", "PnPCapabilities", "REG_DWORD", 0x00000038)
D'autre part, il faudra faire attention au nom de la clé, car ça ne sera pas forcément 0007 partout. Je te conseil de d'abord lister les clés dans Class, puis regarder pour chaque résultat si le nom de la carte correspond à celui attendu (ou mieux, utiliser le DeviceInstanceID).

Re: [..] Modifier des valeurs de registre

Posté : mar. 02 juil. 2013 12:20
par m4sis
Effectivement je viens de me rendre compte que les clés a change sont effectivement pas tous dans "0007"

[quote="jguinch"
D'autre part, il faudra faire attention au nom de la clé, car ça ne sera pas forcément 0007 partout. Je te conseil de d'abord lister les clés dans Class, puis regarder pour chaque résultat si le nom de la carte correspond à celui attendu (ou mieux, utiliser le DeviceInstanceID).[/quote]

Du coup la facon que tu conseilles est je pense la bonne. mais la sa sort de mes competences :( j'ai également vérifié "DeviceInstanceId" qui ne se nomme pas pareil entre les machine mais "MatchingDeviceID".

Re: [..] Modifier des valeurs de registre

Posté : mar. 02 juil. 2013 14:02
par jguinch
Pour lister les clés, il suffit d'utiliser RegEnumKey (regarde la doc, c'est assez simple).
► Afficher le texte

Re: [..] Modifier des valeurs de registre

Posté : mer. 03 juil. 2013 09:35
par m4sis
► Afficher le texte
J'ai rempalcer par une * mais ca as pas l'air de fonctionner car j'ai environ 400 postes et changer la clé a chaque fois .....

J'ai regarder la valeur WakeUPMode qui est en 3 et qui aurait du passer en 1 mais ca fonctionne pas.

Re: [..] Modifier des valeurs de registre

Posté : mer. 03 juil. 2013 10:28
par jguinch

Code : Tout sélectionner

Local $MatchingDeviceId  = "\Apci"
Local $i = 1

While 1
    Local $key = RegEnumKey("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}", $i)
    If @error Then ExitLoop
   
    If StringRegExp(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $key, "MatchingDeviceId") , $MatchingDeviceId) Then
        RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $key, "PnPCapabilities", "REG_DWORD", 0x00000038)
        RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $key, "WakeUpModeCap", "REG_SZ", "1")
        RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $key, "WakeOn", "REG_SZ", "2")
    EndIf
    $i += 1
WEnd