Ich habe auch schon hier im Forum gesicht, aber es wird immer geschrieben "geht mit
WMI", "guck mal nach
WMI" usw. Jetzt habe ich zum Beispeil im Entwickler forum eine Abfrage gefunden wie man den EventLog ausliest:
Code:
SELECT Type,SourceName,TimeGenerated,Message
FROM Win32_NTLogEvent
WHERE LogFile="Application"
AND EventCode="100"
und ein Beispiel wie man es anwendet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
aLoc : ISWbemLocator;
aSrv : ISWbemServices;
aObjSet : ISWbemObjectSet;
pEnum : IEnumVARIANT;
vOut : OleVariant;
dwRetrieved : LongWord;
hRes : HResult;
sWQL : String;
aLI : TListItem;
begin
ListView1.Items.Clear;
aLoc := CoSWbemLocator.Create;
aSrv := aLoc.ConnectServer('','', '','','','',0, nil);
aSrv.Security_.ImpersonationLevel := wbemImpersonationLevelImpersonate;
aObjSet := aSrv.ExecQuery(Memo1.Text, 'WQL', 0, nil);
pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
while (TRUE) do
begin
hRes := pEnum.Next(1, vOut, dwRetrieved);
if hRes <> S_OK then
Break;
aLI := ListView1.Items.Add;
aLI.Caption := VarToStr(vOut.Type);
aLI.SubItems.Add(VarToStr(vOut.SourceName));
aLI.SubItems.Add(LeftStr(VarToStr(vOut.TimeGenerated), 8));
aLI.SubItems.Add(VarToStr(vOut.Message));
end;
end;
Nur was ich jetzt gar nicht finde, ist eine Übersicht, was ich bei 'Select', 'From' und 'Where' alles angeben könnte.
Ich will letztendlich auf einen Netzwerkrechner zugreifen, und mal gucken, was ich da so alles machen kann: Dienste Starten/stoppen, Benutzer auflisten, Betriebssystem rausfinden usw. Aber dazu bräuchte ich irgendwo mal eine Übersicht her.