Estoy buscando una manera de averiguar los argumentos de línea de comandos de cualquier servicio de Windows.¿Cómo obtener los argumentos de línea de comandos de un servicio de Windows?
Para un proceso que no sea de servicio, los argumentos de la línea de comandos se pueden encontrar en el Administrador de tareas de Windows, o mediante programación utilizando WMI como se muestra en este post.
Desafortunadamente, estas dos soluciones no funcionan para un servicio de Windows que se inicia con el método ServiceController.Start(String[] args). Ambos se muestran solamente la ruta del archivo ejecutable en la línea de comandos, a pesar de que algunos argumentos fueron aprobadas en.
- Podría alguien explicar la diferencia entre dos escenarios (V.S. servicio proceso no servicio)?
- ¿Hay una forma para descubrir los argumentos del servicio de ventanas ?
ACTUALIZACIÓN:
También probé la creación de un servicio sencillo que simplemente registra los argumentos de línea de comandos que tiene para el registro de eventos. Lo inicié usando "sc.exe start <my service> <arg1>"
y verifiqué que <arg1>
se escribiera en el registro de eventos. Sin embargo, ninguna de las soluciones me ha funcionado. Lo que vi todavía era solo la ruta al archivo ejecutable. Mi versión del sistema operativo es Windows Server 2008 R2 SP1 x64 Enterprise.
Gracias por la respuesta, Simon. Probablemente tengas razón. No pude obtener una mejor respuesta de una lista de correo interna. Puede que exista alguna forma estrafalaria de resolver esto, pero revisé las API de SCM y no parece ser de ayuda. –