Gå til innhold

C#: [Løst]Problemer med System.Management.ManagementClass


Anbefalte innlegg

Forsøker å bruke System.Management.ManagementClass til å hente ut og iterere nettverkskortene på en PC. Dette gjøres slik

 

ManagementClass mgmt = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objCol = mgmt.GetInstances();
foreach (ManagementObject obj in objCol)
{
   if ((bool)obj["IPEnabled"]) address = obj["MacAddress"].ToString();
   {
       //ETC
   }
}

 

Dette har nå fungert smertefritt på både min og andres PCer. Etter en Windows Update(ikke 100% sikkert at dette er grunnen) så fungerte ikke dette lengre på en bestemt kunde PC. Kallet "ManagementObjectCollection objCol = mgmt.GetInstances();" fører til en exception.

 

Hånterer exceptionen slik:

           catch (ManagementException  e)
           {

               writer.WriteLine("----------------");
               writer.WriteLine(e.ErrorInformation);
               writer.WriteLine("----------------");
               writer.WriteLine(e.ErrorCode);
               writer.WriteLine("----------------");
               writer.WriteLine(e.Message);
               writer.WriteLine("----------------");
               writer.WriteLine(e.StackTrace);

Som skriver ut følgende print

 

----------------

 

----------------

InitializationFailure

----------------

Initialiseringsfeil

----------------

at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)

at System.Management.ManagementScope.InitializeGuts(Object o)

at System.Management.ManagementScope.Initialize()

at System.Management.ManagementObject.Initialize(Boolean getObject)

at System.Management.ManagementClass.GetInstances(EnumerationOptions options)

at System.Management.ManagementClass.GetInstances()

at Roads.Lib.License.LicenseAdmin.CreateHwKey()

at Roads.Lib.License.LicenseAdmin.CreateReferanceCode()

at Roads.Lib.License.LicensGUI..ctor(LicenseAdmin licenseAdmin)

at Roads.Lib.License.LicenseAdmin.IsLicenseOk()

at lisenstester.Program.Main()

 

 

 

Umiddelbart tenker jeg rettigheter/tilgang men burde jeg ikke da fått en exception som fortalte meg at dette var problemet? Håper noen har innspill/forslag som kan sende meg på rett spor.

Lenke til kommentar
Videoannonse
Annonse

Exception objektet gav meg bare informasjon jeg skrev ut over.

 

Fant imidlertid problemet. Da det var flere servicer på den aktuelle maskinen som hadde stoppet. Var visst en WMI service av noe slag som hadde stoppet etter windows updaten. Kjørte System Restore til før Windows Update og da fungerte også programmet.

 

Problem Solved !

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...