Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WMI Eine Übersicht ist gesucht. (https://www.delphipraxis.net/38114-wmi-eine-uebersicht-ist-gesucht.html)

Luckie 14. Jan 2005 23:36


WMI Eine Übersicht ist gesucht.
 
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.

shareholder 15. Jan 2005 00:42

Re: WMI Eine Übersicht ist gesucht.
 
Kann das sein, dass die Abfrage-Syntax von SQL abgekupfert ist oder umgekehrt?

Vllt. bringt dich mysql.com/documentation weiter... :gruebel:

SQL-Code:
Hau mich jetzt bitte nicht! :=)

Luckie 15. Jan 2005 01:35

Re: WMI Eine Übersicht ist gesucht.
 
Ja, ist sie, aber das Hilft mir nicht weiter. Ich muss, angelehnt an SQL die Tabellen kennen, die es gibt und die Felder in den Tabellen und welche Werte diese Felder haben können.

shareholder 15. Jan 2005 02:07

Re: WMI Eine Übersicht ist gesucht.
 
Klaro, die kannst'de doch auch mittels SQL alle ermitteln. :)

Luckie 15. Jan 2005 02:16

Re: WMI Eine Übersicht ist gesucht.
 
Es ist ja keine SQL Datenbank. Die Syntax ist nur ähnlich.

Luckie 15. Jan 2005 02:40

Re: WMI Eine Übersicht ist gesucht.
 
Ich glaube das mit dem remote Computer hat sich erledigt. Wenn ich das hier ausführe:
Delphi-Quellcode:
uses
  WbemScripting_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
  FLocator    : ISWbemLocator;
  FServices   : ISWbemServices;
begin
  FLocator := CoSWbemLocator.Create;
  try
    try
      FServices := FLocator.ConnectServer('hepu', '', 'Michael2', 'micky', '',
        '',
        0, nil);
      if FServices <> nil then
      begin
        ShowMessage('bin drauf');
      end;
    finally
      FLocator := nil;
      FServices := nil;
    end;
  except
    on e: Exception do
      ShowMessage(e.Message);
  end;
end;
Dann bekomme ich auf dem XP Homerechner meines Vater immer ein "Zugriff verweigert", obwohl der Benutzer Michael2 Administrator ist und ein Passwort hat. :roll: Bei den Diensten sehe ich auch nichts, was man starten könnte, was mit Remotezugriff oder WMI zu tun hätte.
Ich weiß nicht, was ich noch mit dem Sch**ß XP Home Rechner meines Vaters anfangen soll. :evil:

Janis 17. Mär 2005 13:55

Re: WMI Eine Übersicht ist gesucht.
 
Hallo Luckie, hast du vielleicht schon ne Übersicht gefunden ich bracuh nämlich zur zeit dasselbe... :|

Alter Mann 17. Mär 2005 14:28

Re: WMI Eine Übersicht ist gesucht.
 
Hi Luckie,

ich glaub ich hatte es schon mal geschrieben..., was Du brauchst ist:

The Portable Script Center


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz