Cómo iniciar script (VBS) con WMI en código C #?
-
06-09-2019 - |
Pregunta
necesito para iniciar un archivo script de Visual Basic mediante WMI en un código C #.
No entiendo muy bien lo que está mal con este pedazo de código? El resultado será siempre 8 (fallo desconocido). Pero por ejemplo notepad.exe se puede iniciar sin fallo.
//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);
Solución
Las secuencias no son ejecutables - que están a cargo de Windows Script Host, por lo que necesita para especificar la ruta a CSCRIPT.EXE o wscript.exe antes de que el nombre del script:
object[] methodArgs = {
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cscript.exe") + @" C:\MyFolder\Test.vbs arg1 arg2",
null,
null,
0
};
Otros consejos
No sé mucho acerca de este tipo de cosas, pero creo que puede que tenga que invocar anfitrión guión y pasarle el archivo VBS para funcionar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow