Win32_Service-Klasse
Die Win32_ServiceWMI-Klasse stellt einen Dienst auf einem Computersystem mit Windows dar.
Die folgende Syntax wurde aus MOF-Code (Managed Object Format, verwaltetes Objektformat) vereinfacht und enthält alle geerbten Eigenschaften. Eigenschaften und Methoden sind in alphabetischer Reihenfolge und nicht in MOF-Reihenfolge angeordnet.
Syntax
[Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4D9-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Services"), AMENDMENT]
class Win32_Service : Win32_BaseService
{
boolean AcceptPause;
boolean AcceptStop;
string Caption;
uint32 CheckPoint;
string CreationClassName;
boolean DelayedAutoStart;
string Description;
boolean DesktopInteract;
string DisplayName;
string ErrorControl;
uint32 ExitCode;
datetime InstallDate;
string Name;
string PathName;
uint32 ProcessId;
uint32 ServiceSpecificExitCode;
string ServiceType;
boolean Started;
string StartMode;
string StartName;
string State;
string Status;
string SystemCreationClassName;
string SystemName;
uint32 TagId;
uint32 WaitHint;
};
Member
Die Win32_Service-Klasse verfügt über folgende Membertypen:
Methoden
Die Win32_Service-Klasse verfügt über diese Methoden.
Methode | BESCHREIBUNG |
---|---|
Veränderung | Ändert einen Dienst. |
ChangeStartMode | Ändert den Startmodus eines Diensts. |
Erstellen | Erstellt einen neuen Dienst. |
Löschen | Löscht einen vorhandenen Dienst. |
GetSecurityDescriptor | Gibt den Sicherheitsdeskriptor zurück, der den Zugriff auf den Dienst steuert. |
InterrogateService | Fordert an, dass ein Dienst seinen Status an den Dienst-Manager aktualisiert. |
PauseService | Versucht, einen Dienst in den angehaltenen Zustand zu versetzen. |
ResumeService | Versucht, einen Dienst im fortgesetzten Zustand zu platzieren. |
SetSecurityDescriptor | Schreibt eine aktualisierte Version des Sicherheitsdeskriptors, der den Zugriff auf den Dienst steuert. |
Startservice | Versucht, einen Dienst in den Startzustand zu versetzen. |
StopService | Versetzt einen Dienst in den Status Beendet. |
UserControlService | Versucht, einen benutzerdefinierten Steuerelementcode an einen Dienst zu senden. |
Eigenschaften
Die Win32_Service-Klasse verfügt über diese Eigenschaften.
-
AcceptPause
-
-
Datentyp: boolean
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwControlsAccepted| SERVICE_ACCEPT_PAUSE_CONTINUE"), DisplayName ("Dienst akzeptiert Pause")
Gibt an, ob der Dienst angehalten werden kann.
Diese Eigenschaft wird von Win32_BaseService geerbt.
-
-
AcceptStop
-
-
Datentyp: boolean
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwControlsAccepted| SERVICE_ACCEPT_STOP"), DisplayName ("Service akzeptiert Stop")
Gibt an, ob der Dienst beendet werden kann.
Diese Eigenschaft wird von Win32_BaseService geerbt.
-
-
Caption
-
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MaxLen (64), DisplayName ("Caption")
Kurzbeschreibung des Diensts – eine einzeilige Zeichenfolge.
Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.
-
-
Prüfpunkt
-
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwCheckPoint"), DisplayName ("Check Point Count")
Wert, der vom Dienst in regelmäßigen Abständen erhöht wird, um seinen Fortschritt während eines langen Start-, Stopp-, Pausen- oder Fortsetzungsvorgangs zu melden. Beispielsweise erhöht der Dienst diesen Wert, wenn er beim Starten jeden Schritt seiner Initialisierung abschließt. Das Benutzeroberflächenprogramm, das den Vorgang für den Dienst aufruft, verwendet diesen Wert, um den Fortschritt des Diensts während eines längeren Vorgangs nachzuverfolgen. Dieser Wert ist ungültig und sollte null sein, wenn der Dienst keinen Start-, Stopp-, Pausen- oder Fortsetzungsvorgang aussteht.
-
-
CreationClassName
-
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: CIM_Key, DisplayName ("Klassenname")
Name der ersten konkreten Klasse, die in der Vererbungskette angezeigt wird, die bei der Erstellung eines instance verwendet wird. Bei Verwendung mit den anderen Schlüsseleigenschaften der -Klasse ermöglicht diese Eigenschaft die eindeutige Identifizierung aller Instanzen dieser Klasse und ihrer Unterklassen.
Diese Eigenschaft wird von CIM_Service geerbt.
-
-
DelayedAutoStart
-
-
Datentyp: boolean
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_DELAYED_AUTO_START_INFO|fDelayedAutostart"), DisplayName ("Verzögerter automatischer Start")
True gibt an, dass der Dienst gestartet wird, nachdem andere Dienste für den automatischen Start und eine kurze Verzögerung gestartet wurden.
Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008 und Windows Vista: Diese Eigenschaft wird vor Windows Server 2016 und Windows 10 .
-
-
Beschreibung
-
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: DisplayName ("Description")
Eine Beschreibung des Objekts.
Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.
-
-
DesktopInteract
-
-
Datentyp: boolean
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|dwServiceType| SERVICE_INTERACTIVE_PROCESS"), DisplayName ("Interagiert mit Desktop")
Gibt an, ob der Dienst Fenster auf dem Desktop erstellen oder mit ihnen kommunizieren kann und somit in irgendeiner Weise mit einem Benutzer interagieren kann. Interaktive Dienste müssen unter dem Lokalen Systemkonto ausgeführt werden. Die meisten Dienste sind nicht interaktiv; Das heißt, sie kommunizieren in keiner Weise mit dem Benutzer.
Diese Eigenschaft wird von Win32_BaseService geerbt.
-
-
DisplayName
-
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|lpDisplayName"), DisplayName ("Anzeigename")
Name des Diensts, wie im Snap-In Dienste angezeigt. Die maximale Länge der Zeichenfolge beträgt 256 Zeichen. Beachten Sie, dass der Anzeigename und der Dienstname (der in der Registrierung gespeichert ist) nicht immer identisch sind. Der DHCP-Clientdienst hat beispielsweise den Dienstnamen Dhcp, aber den Anzeigenamen DHCP-Client. Der Name wird im Dienststeuerungs-Manager beibehalten. Bei DisplayName-Vergleichen wird jedoch immer die Groß-/Kleinschreibung nicht beachtet.
Einschränkung: Akzeptiert denselben Wert wie die Name-Eigenschaft .
Beispiel: "Atdisk"
Diese Eigenschaft wird von Win32_BaseService geerbt.
-
-
ErrorControl
-
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|dwErrorControl"), DisplayName ("Schweregrad des Startfehlers")
Schweregrad des Fehlers, wenn dieser Dienst während des Startvorgangs nicht gestartet werden kann. Der Wert gibt die Aktion des Startprogramms an, wenn ein Fehler auftritt. Alle Fehler werden vom Computersystem protokolliert.
-
-
Ignorieren ("Ignorieren")
-
Der Benutzer wird nicht benachrichtigt.
-
Normal ("Normal")
-
Der Benutzer wird benachrichtigt. In der Regel ist dies ein Meldungsfeld, das den Benutzer über das Problem benachrichtigt.
-
Schwer ("Schwer")
-
Das System wird mit der letzten bekannten, fehlerfreien Konfiguration neu gestartet.
-
Kritisch ("Kritisch")
-
Das System versucht, mit einer fehlerfreien Konfiguration zu neu starten. Wenn der Dienst ein zweites Mal nicht gestartet werden kann, schlägt der Start fehl.
-
Unbekannt ("Unbekannt")
-
Der Schweregrad des Fehlers ist unbekannt.
Diese Eigenschaft wird von Win32_BaseService geerbt.
ExitCode
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwWin32ExitCode"), DisplayName ("Exitcode")
Windows-Fehlercode, der Fehler definiert, die beim Starten oder Beenden des Diensts auftreten. Diese Eigenschaft wird auf ERROR_SERVICE_SPECIFIC_ERROR (1066) festgelegt, wenn der Fehler in Bezug auf den Dienst eindeutig ist, der durch diese Klasse repräsentiert wird, und Informationen zu dem Fehler stehen in der ServiceSpecificExitCode -Eigenschaft zur Verfügung. Der Dienst legt diesen Wert bei der Ausführung auf NO_ERROR und bei normaler Beendigung erneut fest.
Diese Eigenschaft wird von Win32_BaseService geerbt.
InstallDate
-
Datentyp: datetime
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Installationsdatum")
Datumsobjekt wird installiert. Diese Eigenschaft erfordert keinen Wert, um anzugeben, dass das Objekt installiert ist.
Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.
Name
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: Schlüssel
Eindeutiger Bezeichner des Diensts, der einen Hinweis auf die verwaltete Funktionalität bietet. Diese Funktionalität wird in der Description-Eigenschaft des -Objekts beschrieben.
Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.
PathName
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|lpBinaryPathName"), DisplayName ("Dateipfadname")
Vollqualifizierter Pfad zur Dienst-Binärdatei, die den Dienst implementiert.
Beispiel: "\SystemRoot\System32\drivers\afd.sys"
Diese Eigenschaft wird von Win32_BaseService geerbt.
Processid
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS_PROCESS|dwProcessId"), DisplayName ("Prozess-ID")
Prozessbezeichner des Diensts.
Beispiel: 324
ServiceSpecificExitCode
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwServiceSpecificExitCode"), DisplayName ("Serverspezifischer Exitcode")
Dienstspezifischer Fehlercode für Fehler, die auftreten, während der Dienst entweder gestartet oder beendet wird. Die Exitcodes werden durch den dienst definiert, der von dieser Klasse dargestellt wird. Dieser Wert wird nur festgelegt, wenn der ExitCode-EigenschaftswertERROR_SERVICE_SPECIFIC_ERROR (1066) ist.
Diese Eigenschaft wird von Win32_BaseService geerbt.
Servicetype
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|dwServiceType"), DisplayName ("Diensttyp")
Der für aufrufende Prozesse bereitgestellte Diensttyp.
Die Werte sind:
Kerneltreiber ("Kerneltreiber")
Dateisystemtreiber ("Dateisystemtreiber")
Adapter ("Adapter")
Erkennungstreiber ("Erkennungstreiber")
Eigener Prozess ("Eigener Prozess")
Freigabeprozess ("Freigabeprozess")
Interaktiver Prozess ("Interaktiver Prozess")
Diese Eigenschaft wird von Win32_BaseService geerbt.
Started
-
Datentyp: Boolesch
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: DisplayName ("Started")
Gibt an, ob der Dienst gestartet wurde.
Diese Eigenschaft wird von CIM_Service geerbt.
StartMode
-
Datentyp: Zeichenfolge
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: DisplayName ("Startmodus")
Startmodus des Windows-Basisdiensts.
Start ("Boot")
Gerätetreiber, der vom Betriebssystemladeprogramm gestartet wurde (gilt nur für Treiberdienste).
System ("System")
Der Gerätetreiber wurde vom Initialisierungsprozess des Betriebssystems gestartet. Dieses Wert ist nur für Treiberdienste gültig.
Auto ("Auto")
Der Dienst soll während des Systemstarts automatisch vom Dienstkontroll-Manager gestartet werden. Automatische Dienste werden auch dann gestartet, wenn sich ein Benutzer nicht anmeldet.
Manuell ("Manuell")
Dienst, der vom Dienststeuerungs-Manager gestartet werden soll, wenn ein Prozess die StartService-Methode aufruft. Diese Dienste werden erst gestartet, wenn sich ein Benutzer anmeldet und startet.
Deaktiviert ("Deaktiviert")
Dienst, der erst gestartet werden kann, wenn sein StartMode in Auto oder Manuell geändert wurde.
Diese Eigenschaft wird von CIM_Service geerbt.
StartName
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|lpServiceStartName"), DisplayName ("Name des Startkontos")
Kontoname, unter dem ein Dienst ausgeführt wird. Je nach Diensttyp kann der Kontoname im Format "Domänenname\Benutzername" oder im UPN-Format ("Username@DomainName") vorliegen. Der Dienstprozess wird mit einem dieser beiden Formulare protokolliert, wenn er ausgeführt wird. Wenn das Konto zur integrierten Domäne gehört, kann ".\Username" angegeben werden. Bei Treibern auf Kernel- oder Systemebene enthält StartName den Namen des Treiberobjekts (d. h. "\FileSystem\Rdr" oder "\Driver\Xns"), das das E/A-System zum Laden des Gerätetreibers verwendet. Wenn NULL angegeben ist, wird der Treiber mit einem Standardobjektnamen ausgeführt, der vom E/A-System basierend auf dem Dienstnamen erstellt wird.
Beispiel: "DWDOM\Admin"
Diese Eigenschaft wird von Win32_BaseService geerbt.
State
-
Datentyp: string
-
Zugriffstyp: Lese-/Schreibzugriff
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwCurrentState "), DisplayName ("State")
Aktueller Status des Basisdiensts.
Die Werte sind:
Beendet ("Beendet")
Start ausstehend ("Start ausstehend")
Ausstehend beenden ("Ausstehend")
Wird ausgeführt ("Wird ausgeführt")
Weiter ausstehend ("Weiter ausstehend")
Anhalten ausstehend ("Anhalten ausstehend")
Angehalten ("Angehalten")
Unbekannt ("Unbekannt")
Windows Server 2008 und Windows Vista: Diese Eigenschaft ist vor Windows 7 und Windows Server 2008 R2 schreibgeschützt.
Diese Eigenschaft wird von Win32_BaseService geerbt.
Status
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MaxLen (10), DisplayName ("Status")
Aktuelle status des Objekts. Es können verschiedene betriebsbezogene und nicht operative Status definiert werden. Zu den Betriebsstatus gehören: "OK", "Heruntergestuft" und "Pred Fail" (ein Element, z. B. eine SMART-fähige Festplatte, funktioniert möglicherweise ordnungsgemäß, sagt aber in naher Zukunft einen Fehler voraus). Zu den nicht betriebsbereiten Status gehören: "Fehler", "Wird gestartet", "Wird beendet" und "Dienst". Letzteres, "Dienst", kann beim Spiegel-Resilvering eines Datenträgers, beim Erneutladen einer Benutzerberechtigungsliste oder bei anderen administrativen Aufgaben gelten. Nicht alle derartigen Arbeiten sind online, aber das verwaltete Element ist weder "OK" noch in einem der anderen Zustände.
Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.
Die Werte sind:
OK ("OK")
Fehler ("Fehler")
Degraded ("Degraded")
Unbekannt ("Unbekannt")
Pred Fail ("Pred Fail")
Wird gestartet ("Wird gestartet")
Beenden ("Wird beendet")
Dienst ("Dienst")
Gestresst ("Gestresst")
NonRecover ("NonRecover")
Kein Kontakt ("Kein Kontakt")
Lost Comm ("Lost Comm")
SystemCreationClassName
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: Propagiert ("CIM_System. CreationClassName"), CIM_Key, DisplayName ("Systemklassenname")
Geben Sie den Namen des Systems ein, das diesen Dienst hostet.
Diese Eigenschaft wird von CIM_Service geerbt.
Systemname
-
Datentyp: string
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: Propagiert ("CIM_System. Name"), CIM_Key, DisplayName ("Systemname")
Name des Systems, das diesen Dienst hostet.
Diese Eigenschaft wird von CIM_Service geerbt.
TagId
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| QUERY_SERVICE_CONFIG|dwTagId"), DisplayName ("Tag-ID")
Eindeutiger Tagwert für diesen Dienst in der Gruppe. Der Wert 0 (null) gibt an, dass der Dienst über kein Tag verfügt. Ein Tag kann verwendet werden, um den Dienststart innerhalb einer Ladereihenfolgegruppe zu bestellen, indem ein Tagreihenfolgevektor in der Registrierung unter angegeben wird:
HKEY_LOCAL_MACHINE\System\Currentcontrolset\Steuerung\ GroupOrderList
Tags werden nur für Startdienste vom Kerneltreiber und Dateisystemtreiber ausgewertet, die über start- oder Systemstartmodi verfügen.
Diese Eigenschaft wird von Win32_BaseService geerbt.
WaitHint
-
Datentyp: uint32
-
Zugriffstyp: Schreibgeschützt
-
Qualifizierer: MappingStrings ("Win32API| Dienststrukturen| SERVICE_STATUS|dwWaitHint"), DisplayName ("Geschätzte Wartezeit")
Geschätzte Zeit in Millisekunden für einen ausstehenden Start-, Stopp-, Pausen- oder Fortsetzungsvorgang. Nachdem die angegebene Zeit verstrichen ist, führt der Dienst den nächsten Aufruf der SetServiceStatus-Methode mit einem inkrementierten CheckPoint-Wert oder einer Änderung in CurrentState durch. Wenn die von WaitHint angegebene Zeitspanne verstrichen ist und CheckPoint nicht erhöht wurde oder CurrentState sich nicht geändert hat, geht der Dienststeuerungs-Manager oder das Dienststeuerungsprogramm davon aus, dass ein Fehler aufgetreten ist.
Bemerkungen
Die Win32_Service-Klasse wird von Win32_BaseService abgeleitet.
Die Art und Weise, wie Sie einen bestimmten Computer verwalten, hängt stark von der Rolle ab, die dieser Computer spielt. Beispielsweise überwachen Sie im Allgemeinen andere Aspekte eines DNS-Servers als ein DHCP-Server. Obwohl keine einzelne Eigenschaft Ihnen sagen kann, ob ein bestimmter Computer ein Datenbankserver, ein E-Mail-Server oder ein Multimediaserver ist, können Sie häufig die Rolle eines Computers identifizieren, indem Sie die darauf installierten Dienste identifizieren.
In großen Organisationen ist wahrscheinlich nur einer der wichtigsten Dienste (z. B. E-Mail) auf einem einzelnen Computer installiert. Es wäre ungewöhnlich, dass ein E-Mail-Server auch als Server für Microsoft® Windows Media® Technologies Player-Dateien ausgeführt wird. Aus diesem Fall kann die Identifizierung eines auf einem Computer installierten Diensts helfen, die Rolle des Computers im Netzwerk zu identifizieren. Wenn der Microsoft® Exchange Server-Dienst installiert ist und auf einem Computer ausgeführt wird, kann im Allgemeinen davon ausgegangen werden, dass dieser Computer als E-Mail-Server fungiert.
Sie können die WMI-klasse Win32_Service verwenden, um die auf einem Computer installierten Dienste aufzulisten. Darüber hinaus können Sie diese Klasse verwenden, um zu bestimmen, ob diese Dienste derzeit ausgeführt werden, und um alle anderen erforderlichen Informationen zu diesem Dienst und seiner Konfiguration zurückzugeben.
Eine Dienstanwendung entspricht den Schnittstellenregeln des Dienststeuerungs-Managers (Service Control Manager, SCM) und kann von einem Benutzer automatisch beim Systemstart über das Dienst-Systemsteuerungsprogramm oder durch eine Anwendung gestartet werden, die die in der Windows-API enthaltenen Dienstfunktionen verwendet. Dienste können gestartet werden, wenn keine Benutzer am Computer angemeldet sind.
Ein Benutzer, der von einem Remotecomputer aus eine Verbindung herstellt, muss die berechtigung SC_MANAGER_CONNECT aktiviert sein, um diese Klasse auflisten zu können. Weitere Informationen finden Sie unter Dienstsicherheit und Zugriffsrechte.
Beispiele
Die PS-WMI-Abfrage, die den Dienst "State" auf einer Gruppe von Geräten zurückgibt PowerShell-Beispiel im TechNet-Katalog verwendet Win32_Service , um eine Liste von Geräten aus Active Directory zu erstellen und dann jedes Gerät abzufragen, das mit Ping für einen bestimmten ausgeführten Dienst antwortet.
Das PowerShell-Beispiel für Serverberichte im TechNet-Katalog verwendet Win32_Service, um Serverinformationen zu sammeln und in Word Dokument zu veröffentlichen.
Im folgenden VBScript-Codebeispiel werden alle derzeit installierten Dienste angezeigt.
for each Service in _
GetObject("winmgmts:").InstancesOf ("Win32_Service")
WScript.Echo ""
WScript.Echo Service.Name
description = Service.Description
if IsNull(description) then description = "<No description>"
pathName = Service.PathName
if IsNull(pathName) then pathName = "<No path>"
startName = Service.StartName
if IsNull(startName) then startName = "<None>"
WScript.Echo " Description: ", description
WScript.Echo " Executable: ", pathName
WScript.Echo " Status: ", Service.Status
WScript.Echo " State: ", Service.State
WScript.Echo " Start Mode: ", Service.StartMode
Wscript.Echo " Start Name: ", startName
next
Im folgenden VBScript-Codebeispiel werden die angehaltenen, ausgeführten und beendeten Dienste auf dem angegebenen Computer beschrieben.
On Error Resume Next
StateString = "Paused,Running,Stopped"
StateArray = Split(StateString, ",", -1, 1)
ComputerName = InputBox("Enter the computer name", "List Service", "localhost")
For x = 0 to Ubound (StateArray)
Set Services = GetObject("winmgmts:\\" & ComputerName & "\Root\CIMv2").ExecQuery("SELECT * FROM Win32_Service where State='" & StateArray(x) & "'")
For Each Service in Services
SList = SList & Service.Name & VBlf
Next
WScript.Echo StateArray(x) & " Services: " & VBlf & SList
SList = ""
Next
Das folgende Perl-Skript veranschaulicht, wie eine Liste der ausgeführten Dienste aus Instanzen von Win32_Service abgerufen wird.
use strict;
use Win32::OLE;
my ( $ServiceSet, $Service );
eval { $ServiceSet = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\Root\\CIMv2")->
ExecQuery("SELECT * FROM Win32_Service WHERE State=\"Running\""); };
unless ($@)
{
print "\n";
foreach $Service (in $ServiceSet)
{
print $Service->{Name}, "\n";
if( $Service->{Description} )
{
print " $Service->{Description}\n";
}
else
{
print " <No description>\n";
}
print " Process ID: ", $Service->{ProcessId}, "\n";
print " Start Mode: ", $Service->{StartMode}, "\n";
print "\n";
}
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
Im folgenden c#-Beispiel wird Microsoft.Management.Infrastructure verwendet, um alle ausgeführten Dienste auf dem lokalen Computer abzurufen.
static void QueryInstanceFunc()
{
CimSession session = CimSession.Create("localHost");
IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_Service");
foreach (CimInstance cimObj in queryInstance)
{
Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString());
Console.WriteLine(cimObj.CimInstanceProperties["State"].ToString());
Console.WriteLine(cimObj.CimInstanceProperties["Status"].ToString());
//Console.WriteLine(cimObj.CimInstanceProperties["NetworkAddress"].ToString());
Console.WriteLine();
}
Console.ReadLine();
}
Im folgenden C#-Codebeispiel wird der System.Management-Namespace verwendet, um alle ausgeführten Dienste auf dem lokalen Computer abzurufen.
Hinweis
System.Management enthält die ursprünglichen Klassen, die für den Zugriff auf WMI verwendet wurden. Sie gelten jedoch als langsamer und skalieren im Allgemeinen nicht so gut wie ihre Microsoft.Management.Infrastructure-Entsprechungen .
using System.Management;
...
static void oldSchoolQueryInstanceFunc()
{
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Service");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection)
{
Console.WriteLine("ServiceName : {0}", m["Name"]);
Console.WriteLine("State : {0}", m["State"]);
Console.WriteLine("Status : {0}", m["Status"]);
Console.WriteLine();
}
Console.ReadLine();
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
Siehe auch