CIM_ERR_NOT_SUPPORTED

0 votes
asked Apr 10, 2016 in IRF tantárgy by katasztrosz (37 points)  
edited Apr 10, 2016 by benedekh

File "script.py", line 30, in
IncludeClassOrigin=True)
lmiwbemcore.CIMError: (7, 'CIMERRNOTSUPPORTED')

A gyakorlati anyagban talált példát próbáltam megvalósítani.
GetInstanc-el kérném le a példányok tulajdonságait. A fordító pedig a fenti szöveggel válaszol. Ha minden iga ez azt jelenti, hogy az adott művelet nem támogatott.

Hogy tudom támogatottá tenni?

1 Answer

0 votes
answered Apr 10, 2016 by kovari (2,221 points)  

Ez erre a kérdésre vezethető vissza. Olyan osztály példányait akarod lekérdezni, aminek nincs. Ekkor jön ez a hibaüzenet. A jegyzetben található példa jó, tehát a Processor osztályra biztos kapunk találatot (ez a kérdésből számomra nem volt világos, hogy arra próbálkozol-e, vagy egy másikra).

commented Apr 10, 2016 by katasztrosz (37 points)  
A jegyzetben hivatkozott github-os példára gondoltam.  
https://github.com/phatina/python-lmiwbem/blob/master/examples/example_get_instance.py

Ezt vettem alapul és úgy kaptam az előző hibaüzenetet. Ha konkrétan bemásolom, akkor is ugyanarra a sorra kapok hibaüzenetet. Ezúttal újat:

  File "script.py", line 49, in <module>
    IncludeClassOrigin=True)
lmiwbem_core.CIMError: (6, 'CIM_ERR_NOT_FOUND')
commented Apr 10, 2016 by kovari (2,221 points)  
Na igen, ez azért nem olyan egyszerű. Ennél a példánál meg kellene adni pontosan az példány kulcsait is (a CIMInstanceName-nél), mert csak egy konkrét példányt szeretnél lekérdezni (GetInstance). Szerencsére ezzel nem kell bajlódni, elég, ha egy osztály összes példányát lekérdezed (EnumerateInstances), erre nyújt példát a jegyzetünk is.

Továbbá, még az ExecQuery függvény nézegetését ajánlom.

Megjegyzem, hogy az eredeti kérdésed nagyon félrevezető volt, hiszen ezt a példát mi nem is hivatkozzuk :)
...