J'essaye d'acceder au registre d'ordinateur distant, j'utilise ce script en python 3
#ouverture wmi sur le remote computer
try:
c = wmi.WMI(computer=ip, user="login",password="password",namespace="root/default").StdRegProv
except:
print ("Erreur connection %s" %(ip))
continue
#cle recherche ou il y a tous les logiciels
sSubKeyName=r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
#recupere dans la base de registre
result, names = c.EnumKey (
hDefKey=HKEY_LOCAL_MACHINE,
sSubKeyName=sSubKeyName
)
for subkey in names:
print (subkey)
try:
asubkey = OpenKey(HKEY_LOCAL_MACHINE, sSubKeyName+"\\" + subkey,0,KEY_ALL_ACCESS)
name = QueryValueEx(asubkey, "DisplayName")
version = QueryValueEx(asubkey, "DisplayVersion")
except:
#print ("Erreur %s %s %s" % (subkey,KeyError,traceback.format_exc()))
continue
A priori tout se passe bien sauf que OpenKey plante sur certaines valeurs, tel que "Mozilla firefox" (FileNotFoundError: [WinError 2] Le fichier spécifié est introuvable) alors que la clé existe bien dans le registre de l'ordinateur distant (d'ailleurs EnumKey me ramene bien la clé )?
Le même script en local, lui ne pose aucun problème, OpenKey fonctionne tout le temps
J'ai essayé également en interrogeant cette clé, mais même résultat:
en fait je pense que cela vient du fait que openkey n'est pas lié à c = wmi.WMI().StdRegProv (registre du pc dista,t)
le enumkey se fait bien sur le pc distant (exemple http://timgolden.me.uk/python/wmi/cookbook.html#list-registry-keys) mais le openkey se fait sur le pc local
WMI - Remote computer
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.