Deseo consultar una lista de los servicios que se ejecutan como un usuario específico en una máquina remota y luego verificar el estado de cada uno. Estoy construyendo una consola personalizada.En C# ¿cómo consulto la lista de servicios en ejecución en un servidor de Windows?
Respuesta
Para utilizar el método ServiceController Me echa un vistazo a la solución con suplantación implementada en esta pregunta anterior: .Net 2.0 ServiceController.GetServices()
Fwiw, aquí es C#/forma de WMI con el anfitrión explícita, nombre de usuario, contraseña:
using System.Management;
static void EnumServices(string host, string username, string password)
{
string ns = @"root\cimv2";
string query = "select * from Win32_Service";
ConnectionOptions options = new ConnectionOptions();
if (!string.IsNullOrEmpty(username))
{
options.Username = username;
options.Password = password;
}
ManagementScope scope =
new ManagementScope(string.Format(@"\\{0}\{1}", host, ns), options);
scope.Connect();
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(scope, new ObjectQuery(query));
ManagementObjectCollection retObjectCollection = searcher.Get();
foreach (ManagementObject mo in retObjectCollection)
{
Console.WriteLine(mo.GetText(TextFormat.Mof));
}
}
Puede usar wmi para esto (Administración del sistema). También puede usar ServiceController.GetServices().
ServiceController.GetServices ("machineName") devuelve una matriz de objetos ServiceController para una máquina en particular.
Este:
namespace AtYourService
{
using System;
using System.ServiceProcess;
class Program
{
static void Main(string[] args)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController service in services)
{
Console.WriteLine(
"The {0} service is currently {1}.",
service.DisplayName,
service.Status);
}
Console.Read();
}
}
}
produce:
la aplicación de servicio La experiencia es actualmente en ejecución.
El servicio Andrea ST Filters Service se está ejecutando.
El servicio Application Layer Gateway Service actualmente está detenido.
El servicio de información de la aplicación es actualmente ejecutándose.
etc ...
Por supuesto, he utilizado la versión sin parámetros para obtener los servicios en mi máquina.
Esto comprobará el nombre del servicio de su sistema con su nombre de servicio deseado, el cual se puede mencionar el parámetro
namespace ServiceName
{
using System;
using System.ServiceProcess;
class Service
{
public static bool IsServiceInstalled(string serviceName)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController service in services)
{
if (service.ServiceName == serviceName)
return true;
}
return false;
}
}
}
- 1. Lista de procesos en ejecución en Windows de 64 bits
- 2. Varios servicios de Windows en un exe
- 3. Servicios de Windows en EC2?
- 4. ¿Cómo consulto la tabla ARP en iPhone?
- 5. C# Servicios de Windows Alternativa
- 6. Ejecución asíncrona en formularios de Windows
- 7. servicio de Windows que no aparece en la lista de servicios después de instalar
- 8. ¿Cómo detener la ejecución de servicios?
- 9. ¿Cómo verificar todos los servicios en ejecución en Android?
- 10. Obtener la lista de procesos en ejecución (Visual C++)
- 11. ¿Cómo consulto la información del archivo "Tamaño en el disco"?
- 12. ¿Cómo matar un servidor glassfish en Windows?
- 13. System.Drawing en servicios de Windows o ASP.NET
- 14. Servidor de servicios IIS WCF vs Servicio de Windows
- 15. Cómo comunicarse entre los servicios de Windows
- 16. ¿Cómo consulto en GQL usando la clave de entidad
- 17. Cómo consulto una tabla de unión
- 18. Registro de eventos en C# en Windows 7/2008 Servidor
- 19. ¿Cómo consulto distintos valores en Mongoose?
- 20. C# ClickOnce implementación para servicios de Windows?
- 21. ¿Cómo alojar 2 servicios WCF en 1 servicio de Windows?
- 22. Generación de gráficos matplotlib sin un servidor X en ejecución
- 23. Cómo crear un rectángulo redondeado en tiempo de ejecución en Windows Forms con VB.NET/C#?
- 24. Salir de un servidor Node.js en ejecución en linux
- 25. Servidor PPP en Windows
- 26. servidor de Active Directory en Windows 7
- 27. C# Servicios de Windows: ¿dónde puedo encontrar un buen tutorial?
- 28. Cómo contar hilos en ejecución en el servidor de ruby
- 29. ¿Cómo configurar el servidor de activación de Windows (WAS) en Windows XP para alojar servicios de WCF?
- 30. ¿Cómo detener el servidor mongodb en Windows?
Gracias. Todas las respuestas me ayudaron a señalar WMI y System.Management. Me gustó la consulta y usé este fragmento. thx nuevamente. -k2 – kkelly18
@AK_ ¿Por qué revertiste mi edición? – Dan
@Dan lo siento, rodé hacia atrás en la pestaña incorrecta ... lo arreglé ... –