OVH Cloud OVH Cloud

Vérifier une valeur dans la base de régistre

9 réponses
Avatar
Martin
Bonjour à tous,

Est-il possible de vérifier une valeur dans la base de régistre en ASP .NET
???
J'aimerais savoir comment faire !!!
Je connais la valeur que je veux vérifier.
La valeur est "Disable Script Debugger REG_SZ yes" à l'endroit "Poste
de travail\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" dans
la base de régistre.

Merci à l'avance !!!

9 réponses

Avatar
Ambassadeur Kosh
c'est toujours pareil. pas côté client, et côté serveur, pourquoi faire ?
Avatar
RAVAILLE James
Bonjour,

Vu les les autres messages précédents laissés par Martin, il s'agit du côté
client...

Avec le Framework .NET, c'est possible assez facilement, mais je n'ai jamais
essayé en JavaScript... Est-ce possible ? je pense que des problèmes sont à
prévoir avec les anti-spywares et certains anti-virus...


Cordialement,

--
James RAVAILLE.
MCAD .NET et MCT .NET
http://www.certifdotnet.com


"Ambassadeur Kosh" a écrit :

c'est toujours pareil. pas côté client, et côté serveur, pourquoi faire ?





Avatar
Patrice
Ce n'est pas possible (sans accord de l'utilisateur via acceptation d'un
ActiveX, modification de réglages IE etc...) à partir d'une page Web
simplement pour des raisons de sécurité.

Je pense que le mieux serait de revenir au motif initial de cette écriture.
Quel est le problème posé par l'activation ou non du débogueur ?

--
Patrice

"RAVAILLE James" a écrit dans le
message de news:
Bonjour,

Vu les les autres messages précédents laissés par Martin, il s'agit du


côté
client...

Avec le Framework .NET, c'est possible assez facilement, mais je n'ai


jamais
essayé en JavaScript... Est-ce possible ? je pense que des problèmes sont


à
prévoir avec les anti-spywares et certains anti-virus...


Cordialement,

--
James RAVAILLE.
MCAD .NET et MCT .NET
http://www.certifdotnet.com


"Ambassadeur Kosh" a écrit :

> c'est toujours pareil. pas côté client, et côté serveur, pourquoi faire


?
>
>
>


Avatar
Martin
Je veux vérifier ça du côté client.
J'ai réussi une partie mais ce n'est pas encore ce que je veux faire.
Voici ma partie de code:
Dim WshShell = Server.CreateObject("Wscript.Shell")
Dim t = Server.MachineName
Dim ver = WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
ExplorerMainDisable Script Debugger").ToString
TextBox1.Text = ver
WshShell = Nothing

Le problème, c'est que j'installe ça sur un serveur et cela me donne le
paramètres du serveur et non du PC qui fait rouler l'application.
Comment faire pour avoir la même chose mais du côté client ???

Merci à l'avance !!!
Avatar
Patrice
C'est normal, une page ASP ou ASP.NET s'exécute le serveur (le PC ne fait
pas rouler l'application, il demande une page au serveur, la page s'exécute
sur le serveur et ne fait que renvoyer une réponse (généralement un document
HTML) au client qu'affiche alors le client).

Il faudrait le faire dans la page HTML renvoyée par le serveur (en
JavaScript par exemple) mais ce n'est pas possible sauf si l'utilisateur
accepte d'installer un contrôle ActiveX ou modifie la configuration de son
navigateur (sécurité, sion tout le monde pourrait lire des valeurs dans ton
registre). Peux tu imposer cela ?

Sinon quel est le problème que tu cherches à résoudre en lisant la config du
debogueur ?

--
Patrice

"Martin" a écrit dans le message de
news:
Je veux vérifier ça du côté client.
J'ai réussi une partie mais ce n'est pas encore ce que je veux faire.
Voici ma partie de code:
Dim WshShell = Server.CreateObject("Wscript.Shell")
Dim t = Server.MachineName
Dim ver = WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
ExplorerMainDisable Script Debugger").ToString
TextBox1.Text = ver
WshShell = Nothing

Le problème, c'est que j'installe ça sur un serveur et cela me donne le
paramètres du serveur et non du PC qui fait rouler l'application.
Comment faire pour avoir la même chose mais du côté client ???

Merci à l'avance !!!



Avatar
Martin
J'ai réussi du côté client à savoir quel PC fait rouler l'application sur le
serveur.
Il me reste seulement de vérifier une valeur du régistre et cela me dérange
pas d'imposer le fait que l'on puisse lire dans les bases de régistre des
autres PC.
C'est que je voudrais seulement savoir si le paramètre "Disable Script
Debugger" (Désactiver le débogueur de script) est cocher oui ou non. Si la
case n'est pas coché, l'usager ne peut pas entrer dans l'application tant
qu'il n'aura pas cocher cette case.

"Patrice" a écrit :

C'est normal, une page ASP ou ASP.NET s'exécute le serveur (le PC ne fait
pas rouler l'application, il demande une page au serveur, la page s'exécute
sur le serveur et ne fait que renvoyer une réponse (généralement un document
HTML) au client qu'affiche alors le client).

Il faudrait le faire dans la page HTML renvoyée par le serveur (en
JavaScript par exemple) mais ce n'est pas possible sauf si l'utilisateur
accepte d'installer un contrôle ActiveX ou modifie la configuration de son
navigateur (sécurité, sion tout le monde pourrait lire des valeurs dans ton
registre). Peux tu imposer cela ?

Sinon quel est le problème que tu cherches à résoudre en lisant la config du
debogueur ?

--
Patrice

"Martin" a écrit dans le message de
news:
> Je veux vérifier ça du côté client.
> J'ai réussi une partie mais ce n'est pas encore ce que je veux faire.
> Voici ma partie de code:
> Dim WshShell = Server.CreateObject("Wscript.Shell")
> Dim t = Server.MachineName
> Dim ver = WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
> ExplorerMainDisable Script Debugger").ToString
> TextBox1.Text = ver
> WshShell = Nothing
>
> Le problème, c'est que j'installe ça sur un serveur et cela me donne le
> paramètres du serveur et non du PC qui fait rouler l'application.
> Comment faire pour avoir la même chose mais du côté client ???
>
> Merci à l'avance !!!
>





Avatar
Patrice
Dans ce cas tu pourrais par exemple :
- ajouter ton site dans la zone "Sites de confiance"
- éventuellement modifier le réglage de cette zone (je pense que par défaut
tu auras sinon une question signalant à l'utilisateur la création d'un objet
non sûr).

A partir de là, le code que tu utlises :
- doit être déplacé dans une balise <script> pour qu'il soit exécuté sur le
client

Tu peux mettre la valeur dans un champ de formulaire HTM et l'envoyer ou le
passer en QueryString à la page suivante qui fera la vérif et laissera
passer ou non l'utilisateur.

Cette contrainte me parait quand même un peu forte. Si le but est de
récupérer des informations sur les erreurs JavaScript, je crois savoir qu'il
y a moyen de faire autrement (il me semble qu'il existe un évènement
permettant de le faire).

Si ce sont des PC qui sont sur ton réseau local, tu pourrais peut-être faire
cette vérification via un script de connexion au lieu de l'intégrer dans
l'application Web...

--
Patrice

"Martin" a écrit dans le message de
news:
J'ai réussi du côté client à savoir quel PC fait rouler l'application sur


le
serveur.
Il me reste seulement de vérifier une valeur du régistre et cela me


dérange
pas d'imposer le fait que l'on puisse lire dans les bases de régistre des
autres PC.
C'est que je voudrais seulement savoir si le paramètre "Disable Script
Debugger" (Désactiver le débogueur de script) est cocher oui ou non. Si


la
case n'est pas coché, l'usager ne peut pas entrer dans l'application tant
qu'il n'aura pas cocher cette case.

"Patrice" a écrit :

> C'est normal, une page ASP ou ASP.NET s'exécute le serveur (le PC ne


fait
> pas rouler l'application, il demande une page au serveur, la page


s'exécute
> sur le serveur et ne fait que renvoyer une réponse (généralement un


document
> HTML) au client qu'affiche alors le client).
>
> Il faudrait le faire dans la page HTML renvoyée par le serveur (en
> JavaScript par exemple) mais ce n'est pas possible sauf si l'utilisateur
> accepte d'installer un contrôle ActiveX ou modifie la configuration de


son
> navigateur (sécurité, sion tout le monde pourrait lire des valeurs dans


ton
> registre). Peux tu imposer cela ?
>
> Sinon quel est le problème que tu cherches à résoudre en lisant la


config du
> debogueur ?
>
> --
> Patrice
>
> "Martin" a écrit dans le message de
> news:
> > Je veux vérifier ça du côté client.
> > J'ai réussi une partie mais ce n'est pas encore ce que je veux faire.
> > Voici ma partie de code:
> > Dim WshShell = Server.CreateObject("Wscript.Shell")
> > Dim t = Server.MachineName
> > Dim ver = WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
> > ExplorerMainDisable Script Debugger").ToString
> > TextBox1.Text = ver
> > WshShell = Nothing
> >
> > Le problème, c'est que j'installe ça sur un serveur et cela me donne


le
> > paramètres du serveur et non du PC qui fait rouler l'application.
> > Comment faire pour avoir la même chose mais du côté client ???
> >
> > Merci à l'avance !!!
> >
>
>
>


Avatar
Martin
Pour l'instant, j'ai réussi à faire tout mon code en ASP .NET sans avoir eu
besoin de faire du java ou du vbscript.
Je suis capable de trouver qui est-ce qui fait rouler l'application (le nom
du PC et son adresse).
Je suis capable de lire une valeur dans la base de régistre.
Il me reste de fusionner les 2 ensembles pour pouvoir lire dans la base de
régistre d'un PC en particulier.

Dim WshShell = Server.CreateObject("Wscript.Shell")
Dim AdressePC As HttpContext = Me.Context
Dim NomPC =
Mid(Dns.Resolve(AdressePC.Request.UserHostName).HostName(), 1, 5)
Dim Debugger =
WshShell.RegRead("HKEY_CURRENT_USERSoftwareMicrosoftInternet
ExplorerMainDisable Script Debugger")

TextBox1.Text = Debugger
Textbox2.Text = NomPC
WshShell = Nothing

Je suis peut être entêté, mais je suis persuadé qu'il y a un moyen de faire
ça sans avoir recours à un script.
Je tiens mordicus à rester en ASP .NET et vérifier des paramètres côté client.

"Patrice" a écrit :

Dans ce cas tu pourrais par exemple :
- ajouter ton site dans la zone "Sites de confiance"
- éventuellement modifier le réglage de cette zone (je pense que par défaut
tu auras sinon une question signalant à l'utilisateur la création d'un objet
non sûr).

A partir de là, le code que tu utlises :
- doit être déplacé dans une balise <script> pour qu'il soit exécuté sur le
client

Tu peux mettre la valeur dans un champ de formulaire HTM et l'envoyer ou le
passer en QueryString à la page suivante qui fera la vérif et laissera
passer ou non l'utilisateur.

Cette contrainte me parait quand même un peu forte. Si le but est de
récupérer des informations sur les erreurs JavaScript, je crois savoir qu'il
y a moyen de faire autrement (il me semble qu'il existe un évènement
permettant de le faire).

Si ce sont des PC qui sont sur ton réseau local, tu pourrais peut-être faire
cette vérification via un script de connexion au lieu de l'intégrer dans
l'application Web...

--
Patrice

"Martin" a écrit dans le message de
news:
> J'ai réussi du côté client à savoir quel PC fait rouler l'application sur
le
> serveur.
> Il me reste seulement de vérifier une valeur du régistre et cela me
dérange
> pas d'imposer le fait que l'on puisse lire dans les bases de régistre des
> autres PC.
> C'est que je voudrais seulement savoir si le paramètre "Disable Script
> Debugger" (Désactiver le débogueur de script) est cocher oui ou non. Si
la
> case n'est pas coché, l'usager ne peut pas entrer dans l'application tant
> qu'il n'aura pas cocher cette case.
>
> "Patrice" a écrit :
>
> > C'est normal, une page ASP ou ASP.NET s'exécute le serveur (le PC ne
fait
> > pas rouler l'application, il demande une page au serveur, la page
s'exécute
> > sur le serveur et ne fait que renvoyer une réponse (généralement un
document
> > HTML) au client qu'affiche alors le client).
> >
> > Il faudrait le faire dans la page HTML renvoyée par le serveur (en
> > JavaScript par exemple) mais ce n'est pas possible sauf si l'utilisateur
> > accepte d'installer un contrôle ActiveX ou modifie la configuration de
son
> > navigateur (sécurité, sion tout le monde pourrait lire des valeurs dans
ton
> > registre). Peux tu imposer cela ?
> >
> > Sinon quel est le problème que tu cherches à résoudre en lisant la
config du
> > debogueur ?
> >
> > --
> > Patrice
> >
> > "Martin" a écrit dans le message de
> > news:
> > > Je veux vérifier ça du côté client.
> > > J'ai réussi une partie mais ce n'est pas encore ce que je veux faire.
> > > Voici ma partie de code:
> > > Dim WshShell = Server.CreateObject("Wscript.Shell")
> > > Dim t = Server.MachineName
> > > Dim ver = WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
> > > ExplorerMainDisable Script Debugger").ToString
> > > TextBox1.Text = ver
> > > WshShell = Nothing
> > >
> > > Le problème, c'est que j'installe ça sur un serveur et cela me donne
le
> > > paramètres du serveur et non du PC qui fait rouler l'application.
> > > Comment faire pour avoir la même chose mais du côté client ???
> > >
> > > Merci à l'avance !!!
> > >
> >
> >
> >





Avatar
Patrice
Il est essentiel de comprendre que la page ASP.NET est exécutée sur le
serveur. Ton code actuel lit la valeur du registre sur le poste local. Donc
si le code est exécuté sur le serveur tu ne pourras lire que le registre du
serveur.

Je vois deux solutions :
- mettre du script client dans ta page ASP.NET, le code sera exécuté sur le
client et lira la valeur sur le client
- lire la valeur du registre sur une machine distante à partir du serveur
(je pense que c'est faisable avec WMI)

--
Patrice

"Martin" a écrit dans le message de
news:
Pour l'instant, j'ai réussi à faire tout mon code en ASP .NET sans avoir


eu
besoin de faire du java ou du vbscript.
Je suis capable de trouver qui est-ce qui fait rouler l'application (le


nom
du PC et son adresse).
Je suis capable de lire une valeur dans la base de régistre.
Il me reste de fusionner les 2 ensembles pour pouvoir lire dans la base de
régistre d'un PC en particulier.

Dim WshShell = Server.CreateObject("Wscript.Shell")
Dim AdressePC As HttpContext = Me.Context
Dim NomPC > Mid(Dns.Resolve(AdressePC.Request.UserHostName).HostName(), 1, 5)
Dim Debugger > WshShell.RegRead("HKEY_CURRENT_USERSoftwareMicrosoftInternet
ExplorerMainDisable Script Debugger")

TextBox1.Text = Debugger
Textbox2.Text = NomPC
WshShell = Nothing

Je suis peut être entêté, mais je suis persuadé qu'il y a un moyen de


faire
ça sans avoir recours à un script.
Je tiens mordicus à rester en ASP .NET et vérifier des paramètres côté


client.

"Patrice" a écrit :

> Dans ce cas tu pourrais par exemple :
> - ajouter ton site dans la zone "Sites de confiance"
> - éventuellement modifier le réglage de cette zone (je pense que par


défaut
> tu auras sinon une question signalant à l'utilisateur la création d'un


objet
> non sûr).
>
> A partir de là, le code que tu utlises :
> - doit être déplacé dans une balise <script> pour qu'il soit exécuté sur


le
> client
>
> Tu peux mettre la valeur dans un champ de formulaire HTM et l'envoyer ou


le
> passer en QueryString à la page suivante qui fera la vérif et laissera
> passer ou non l'utilisateur.
>
> Cette contrainte me parait quand même un peu forte. Si le but est de
> récupérer des informations sur les erreurs JavaScript, je crois savoir


qu'il
> y a moyen de faire autrement (il me semble qu'il existe un évènement
> permettant de le faire).
>
> Si ce sont des PC qui sont sur ton réseau local, tu pourrais peut-être


faire
> cette vérification via un script de connexion au lieu de l'intégrer dans
> l'application Web...
>
> --
> Patrice
>
> "Martin" a écrit dans le message de
> news:
> > J'ai réussi du côté client à savoir quel PC fait rouler l'application


sur
> le
> > serveur.
> > Il me reste seulement de vérifier une valeur du régistre et cela me
> dérange
> > pas d'imposer le fait que l'on puisse lire dans les bases de régistre


des
> > autres PC.
> > C'est que je voudrais seulement savoir si le paramètre "Disable Script
> > Debugger" (Désactiver le débogueur de script) est cocher oui ou non.


Si
> la
> > case n'est pas coché, l'usager ne peut pas entrer dans l'application


tant
> > qu'il n'aura pas cocher cette case.
> >
> > "Patrice" a écrit :
> >
> > > C'est normal, une page ASP ou ASP.NET s'exécute le serveur (le PC ne
> fait
> > > pas rouler l'application, il demande une page au serveur, la page
> s'exécute
> > > sur le serveur et ne fait que renvoyer une réponse (généralement un
> document
> > > HTML) au client qu'affiche alors le client).
> > >
> > > Il faudrait le faire dans la page HTML renvoyée par le serveur (en
> > > JavaScript par exemple) mais ce n'est pas possible sauf si


l'utilisateur
> > > accepte d'installer un contrôle ActiveX ou modifie la configuration


de
> son
> > > navigateur (sécurité, sion tout le monde pourrait lire des valeurs


dans
> ton
> > > registre). Peux tu imposer cela ?
> > >
> > > Sinon quel est le problème que tu cherches à résoudre en lisant la
> config du
> > > debogueur ?
> > >
> > > --
> > > Patrice
> > >
> > > "Martin" a écrit dans le message


de
> > > news:
> > > > Je veux vérifier ça du côté client.
> > > > J'ai réussi une partie mais ce n'est pas encore ce que je veux


faire.
> > > > Voici ma partie de code:
> > > > Dim WshShell = Server.CreateObject("Wscript.Shell")
> > > > Dim t = Server.MachineName
> > > > Dim ver WshShell.RegRead("HKCUSOFTWAREMicrosoftInternet
> > > > ExplorerMainDisable Script Debugger").ToString
> > > > TextBox1.Text = ver
> > > > WshShell = Nothing
> > > >
> > > > Le problème, c'est que j'installe ça sur un serveur et cela me


donne
> le
> > > > paramètres du serveur et non du PC qui fait rouler l'application.
> > > > Comment faire pour avoir la même chose mais du côté client ???
> > > >
> > > > Merci à l'avance !!!
> > > >
> > >
> > >
> > >
>
>
>