Guten Morgen zusammen,
habe bei dem Thema WMI, mich für die WMI.pas entschieden, finde sie einfach. Aber leider bekomme ich beim Abrufen oder Starten von Prozessen keinen Zugriff auf dem Rechner, trotz Benutzer und Kennwort.
Frage von mir, was für Rechte muss ich haben, bzw, wie mussich es Quelltextmäßig durchführen, um die Prozesse einsehen zu können und auch welche Starten und stoppen zu können. Local ist es kein Problem, es geht warscheinlich nur um die Rechte!
Habe folgendes Versucht...
Vielen Dank im Vorraus...
Christian Dannenberg
habe bei dem Thema WMI, mich für die WMI.pas entschieden, finde sie einfach. Aber leider bekomme ich beim Abrufen oder Starten von Prozessen keinen Zugriff auf dem Rechner, trotz Benutzer und Kennwort.
Frage von mir, was für Rechte muss ich haben, bzw, wie mussich es Quelltextmäßig durchführen, um die Prozesse einsehen zu können und auch welche Starten und stoppen zu können. Local ist es kein Problem, es geht warscheinlich nur um die Rechte!
Habe folgendes Versucht...
Code:
function TFMain.getWMIprozesse(Host: string): boolean; begin result := true; WMIClass := TWMIClass.Create; WMIClass.Connect(Host, 'root\CIMV2', Ebenutzer.Text, Ekennwort.Text); WMIClass.WMIServices.Security_.ImpersonationLevel:=(wbemImpersonationLevelImpersonate); //WMIClass.WMIServices.Security_.Privileges.Add(wbemPrivilegeDebug, True); WMIClass.WMIServices.ExecQuery('Select * from Win32_Process','WQL',0,nil); WMIResults:=WMIClass.Results; {if not WMIGetInfo(Host, 'root\CIMV2', EBenutzer.Text, EKennwort.Text, 'Select Caption,name,CommandLine,Description, Handle from Win32_Process', WMIResults) then begin Showmessage('Fehler'); Writelog('ERROR: WMIprozesse'); result := false; Exit; end;} if WMIResults.Instance = nil then begin result := false; Exit end else result2grid(SGProzesse); WMIClass.free; end;
Christian Dannenberg