J'essaie d'utiliser la méthode Create de la classe Win32_Service, mais quand je l'appelle la InvokeMethod, je reçois cette exception:WMI: méthode de création de la Win32_Service classe
System.Management.ManagementException: Invalid method
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObject inParameters, InvokeMethodOptions options)
at <StartupCode$FSI_0075>[email protected]()
Voici le code (en F #, mais il est understable pour les programmeurs C# aussi :)):
let scope = new ManagementScope(@"root\cimv2", null)
use imageService = Utility.getServiceObject scope "Win32_Service"
use inParams = imageService.GetMethodParameters("Create")
inParams.["Name"] <- name
inParams.["DisplayName"] <- displayName
inParams.["PathName"] <- pathName
inParams.["ServiceType"] <- 0x10 // Own Process
inParams.["ErrorControl"] <- 0 // User is not notified
inParams.["StartMode"] <- "Automatic"
inParams.["DesktopInteract"] <- false
inParams.["StartName"] <- "LocalSystem"
inParams.["StartPassword"] <- ""
inParams.["ServiceDependencies"] <- null
use outParams = imageService.InvokeMethod("Create", inParams, null)
l'exception est levée lorsque la dernière ligne est exécutée (j'ai supprimé les lignes suivantes).
Je pense que j'appelle correctement la méthode, donc je ne sais pas pourquoi l'exception est levée. Quelqu'un peut-il m'aider?
Merci à l'avance, Marco