Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 17h26   #1
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
Par défaut Lister les clés d'une entrée de la base de registre

Bonjour,

Mon objectif : Lister dans une page php les différentes clés (et non les valeurs) présentes dans la base de registre du serveur pour l'entrée : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones


J'ai bien réussit à lire une valeur particulière avec le code suivant :
Code :
1
2
$shell = new COM('WScript.Shell');
$regvar = $shell -> regRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\GMT standard Time");
Mais je n'arrive pas à lister les clés (avec ou sans les valeurs). J'ai essayé d'utiliser la fonction reg Query .. mais sans succès.


Je n'ai pas une très grande expérience de PHP, si l'un de vous à une idée pour me débloquer, d'avance merci.
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 18h52   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Est-ce que tu arrives a faire ce que tu veux en Wscript ?
Il faut commencer par la.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h47   #3
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
Effectivement, j'ai passé beaucoup (trop) de temps aujourd'hui à essayer de faire fonctionner mon code directement sous PHP.

Je vais consacrer du temps demain à faire fonctionner le 'reg Query' en Wscript (découverte pour moi).
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 12h26   #4
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
Pas d'avancement, j'ai essayé de comprendre ce qu'était le Wscript mais impossible de réussir à faire le moindre petit script (semble bloquer sur ma machine ...)


Je reste au point mort .. comment lister dans une page PHP les différent fuseaux horaires encodés dans la base de registre Windows.
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 12h39   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
PHP ne peut qu'exploiter une méthode qui fonctionnerait déjà sur ton système.
Tant que tu n'as pas cette méthode, inutile de regarder PHP.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 17h56   #6
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
C'est bien le problème, je n'ai aucune idée sur le 'comment' faire cela sur mon système.

Le seul truc que j'ai réussit à faire est afficher en 'cmd' le résultat attendu avec la commande reg query suivante :

Code :
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"
Ensuite pour passer de cette ligne de commande à une expression WScript puis réussir à l'inclure dans une page PHP ... trou noir. Je n'arrive pas à trouver un exemple simple qui me soit compréhensible.
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 20h58   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Vois dans les forums système windows.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 15h15   #8
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
Progrès.

Le code vbs ci-dessous me donne le résultat attendu. Il me reste à trouver comment appeler mon vbs avec php et surtout comment récupérer le résultat (sous forme de tableau ?).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Set objSh = CreateObject("WScript.Shell")
 
'Get the StandardName key of the current time zone
szStandardName = objSh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\StandardName")
 
'Enumerate the subkeys in the time zone database
const HKEY_LOCAL_MACHINE = &H80000002
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
szTzsKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones"
objReg.EnumKey HKEY_LOCAL_MACHINE, szTzsKeyPath, arrTzSubKeys
 
'Step through the time zones to find the matching Standard Name
szTzKey = "<Unknown>"
For Each subkey In arrTzSubKeys
 
MsgBox subkey, vbOKOnly, "WSH Registry Enumerate sample"  
 
Next
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 10h54   #9
Invité de passage
 
Inscription : juin 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 6
Points : 0
Points : 0
Echec, impossible d'arriver au bon résultat.
ecorpet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h56.


 
 
 
 
Partenaires

Hébergement Web