Hallo zusammen,
habe mir das Beispielprogramm zu
WMI Überwachung angesehen und kann es sehr gut gebrauchen, leider funktioniert es nur lokal. Wenn man remote auf einen anderen Rechner zugrift bekommt man beim Ausführen des Querys (m_WMIServices.ExecNotificationQueryAsync) eine Fehlermeldung "Zugriff verweigert". Gelesen habe ich, das man bei Adminrechten bei der anmeldung alle Rechte hat. Die Zugangsdaten stimmen auch, andere anfragen kann ich ohne probleme stellen.
Hat jemand schon damit gearbeitet und kann mir bei diesem Problem helfen ?
Delphi-Quellcode:
function TFMain.Ueberwachung(Host:
string): boolean;
begin
result := true;
try
aSink := TSWbemSink.Create(self);
m_WMIServices := m_Locator.ConnectServer(Host, '
root/cimv2', EBenutzer.Text, Ekennwort.Text, '
', '
', wbemConnectFlagUseMaxWait,
nil);
m_WMIServices.Security_.Privileges.AddAsString('
SeSecurityPrivilege',false);
m_WMIServices.Security_.ImpersonationLevel := wbemImpersonationLevelImpersonate;
aSink.OnObjectReady := ProcessCreated;
m_WMIServices.ExecNotificationQueryAsync(aSink.DefaultInterface, '
SELECT * FROM __InstanceCreationEvent within 0.1 WHERE TargetInstance ISA "Win32_Process"', '
WQL', 0,
nil,
nil);
except
on e:
exception do
begin
writelog(e.
message);
result := false;
end
end
end;
Vielen dank schonmal im Vorraus.
MFG
Cyberbob