2009-10-27 23 views

risposta

13

questo è l'unico modo che conosco, l'ho trovata guardando intorno e testato, funziona. Assicurarsi di utilizzare il nome del servizio non è Nome visualizzato, si dovrà anche aggiungere un riferimento a System.Management

string serviceName = "aspnet_state"; 

SelectQuery query = new System.Management.SelectQuery(string.Format(
    "select name, startname from Win32_Service where name = '{0}'", serviceName)); 
using (ManagementObjectSearcher searcher = 
    new System.Management.ManagementObjectSearcher(query)) 
{ 
    foreach (ManagementObject service in searcher.Get()) 
    { 
     Console.WriteLine(string.Format(
      "Name: {0} - Logon : {1} ", service["Name"], service["startname"])); 
    } 
} 
2

Informazioni sull'utilizzo di WMI e della classe Win32_Service con il parametro StartName?

This article potrebbe aiutare.

0

Questo farà il vostro lavoro

Get-WMIObject Win32_Service | Where-Object {$_.startname -ne "localSystem" }| Where-Object {$_.startname -ne "NT AUTHORITY\LocalService" } |Where-Object {$_.startname -ne "NT AUTHORITY\NetworkService" } |select startname, name 
Problemi correlati