Comment commencer script (VBS) avec WMI dans le code C #?
-
06-09-2019 - |
Question
Je dois commencer un fichier de script Visual Basic en utilisant WMI dans un code c #.
Je ne comprends pas tout à fait ce qui ne va pas avec ce morceau de code? Le résultat sera toujours 8 (défaillance inconnue). Mais par exemple notepad.exe peut être démarré sans échec.
//Get the object on which the method will be invoked
ManagementClass processClass = new ManagementClass("Win32_Process");
//Create an array containing all arguments for the method
object[] methodArgs = { "C:\\MyFolder\\Test.vbs arg1 arg2", null, null, 0 };
//Execute the method
object result = processClass.InvokeMethod("Create", methodArgs);
La solution
Scripts ne sont pas exécutables - ils sont gérés par Windows Script Host, vous devez spécifier le chemin d'accès CScript.exe ou wscript.exe avant le nom du script:
object[] methodArgs = {
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cscript.exe") + @" C:\MyFolder\Test.vbs arg1 arg2",
null,
null,
0
};
Autres conseils
Je ne sais pas beaucoup sur ce genre de chose, mais pense que vous devrez peut-être appeler hôte de script et transmettre le fichier vbs pour exécuter.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow