Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lire une base de registre à distance

4 réponses
Avatar
didlep
Bonjour,

J'essai de lire une cl=E9 de registre sur un ordinateur distant mais mon
programme ne marche pas.

use strict;
use Win32::OLE;
my $HKLM =3D 0x80000002;
my $strComputer =3D "SRVMSG";
my $strKeyPath =3D "SOFTWARE\\Network Associates\\McAfee
GroupShield\\SystemState";
my $strValueName =3D "DATVersion";
my $strValue =3D "";
my $strOut;
my $objReg =3D
Win32::OLE->GetObject('winmgmts:{impersonationLevel=3Dimpersonate}!\\\\'
. $strComputer . '\\root\\default:StdRegProv') or die "Erreur 1";
$strOut =3D $objReg->GetStringValue($HKLM, $strKeyPath, $strValueName,
$strValue) or die "Erreur 2";
print "version DAT : $strValue\n";

il s'arr=EAte sur la ligne Erreur 2

Si vous aviez une id=E9e, d'avance merci

4 réponses

Avatar
Patrick Texier
Le 24 Jun 2005 06:17:17 -0700, a écrit :

il s'arrête sur la ligne Erreur 2

Si vous aviez une idée, d'avance merci


Afficher l'erreur en question ?

Avatar
didlep
uncaught exception user code:


il s'arrête sur la ligne Erreur 2

Si vous aviez une idée, d'avance merci


Afficher l'erreur en question ?



Avatar
Patrick Texier
Le 24 Jun 2005 23:56:05 -0700, a écrit :


il s'arrête sur la ligne Erreur 2
Si vous aviez une idée, d'avance merci


Afficher l'erreur en question ?


uncaught exception user code:


Pas le résultat du die mais l'erreur renvoyée module utilisé Win32::OLE.

Je ne connais pas ce module, il faut vérifier dans la doc mais c'est
peut être Win32::OLE->LastError().

La gestion des erreurs, c'est la première chose à étudier quand on
utilise un module.



Avatar
didlep
oui c'est cela Win32::OLE->LastError(), il retourne 0