Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

WMI Eine Übersicht ist gesucht.

  Alt 15. Jan 2005, 00:36
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat