![]() |
WMI Abfrageprobleme
Hallo zusammen,
ich schreibe mir ein kleines Programm zusammen wo ich einige Informationen aus unserem Netzwerksammel und zentralisiert darstelle. ich habe mir schon den angemeldeten Benutzer mit Domaine, Freespace der Logischen Laufwerke, die aktuell laufenden Prozesse, usw über wmi herausgelesen. Jetzt habe ich nur ein kleines Problem : Wenn ich über WMI die klasse win32_mappedlogicaldisk anspreche finde ich lokal bei mir auf dem PC die provider Informationen. \\server\freigabe\... Lese ich im Netzwerk finde ich diese nicht mehr vor. Woran kann dies liegen ? Ich habe genügend rechte da ich mich als PC Admin anmelde. Hier der Verbindungsstring
Delphi-Quellcode:
wo habe ich aktuell meinen denkfehler ?
aSrv := CoSWbemlocator.create.ConnectServer(machine, 'root\cimv2',Form1.tbx_user.text,Form1.tbx_pw.Text, '', '', 0, nil);
aObjSet := aSrv.ExecQuery('SELECT DeviceID,ProviderName FROM Win32_MappedLogicalDisk','WQL', 0, nil); oder kann ich remote diese information nicht auslesen ? Wäre über hilfe dankbar :) |
Re: WMI Abfrageprobleme
keiner eine idee ?
*schnieeeeefff* andere möglichkeit Netzlaufwerke zu ermitteln ? |
Re: WMI Abfrageprobleme
|
Re: WMI Abfrageprobleme
hoi,
versuch mal :
SQL-Code:
(drivetype 4 : netzwerkverbindung)
select caption,volumename from Win32_LogicalDisk where drivetype=4
cya |
Re: WMI Abfrageprobleme
Hi,
ich hab die kurzprobe einmal mit dem WMI Explorer durchgeführt. Mit dem habe ich meine mit Delphi abgefragten Werte immer überprüft. Er zeigt mir dabei nur die Physischen Laufwerke von dem Remoterechner an. Lokal geht es wiederrum problemlos ob über win32_logicaldisk (drivetype=4) oder über win32_mappedlogicaldisk. Der Beitrag im Swissdelphicenter.ch ist gut und nützlich solange ich lokal arbeite.. Mit GetDriveType erhalte ich nur lokale informationen. Trotzdem danke :) |
Re: WMI Abfrageprobleme
Gut, ich bin hier nur in einem Novell-Netzwerk, aber bei mir werden in Win32_LogicalDisk auch die Netzlaufwerke angezeigt. Über Win32_MappedLogicalDisk werden mir nur die Netzlaufwerke angezeigt. Selbst sogar eine Freigabe von einem anderen Rechner.
|
Re: WMI Abfrageprobleme
Wie gesagt, eine lokale abfrage auf einem PC gibt mir alle daten.
LogicalDisk = alle Laufwerke inkl Netzlaufwerke mappedlogicaldisk = netzlaufwerke inkl Provider und allem was ich haben möchte. Problem ist folgendes : In der WMI Abfrage gebe ich einen PC Namen im Netzwerk mit. Ich verbinde mich mit dem Administratorbenutzer auf den pc im netzwerk. Er fragt die dort laufenden Prozesse ab - ok er fragt die dort angemeldeten Benutzer ab - ok er gibt mir den freien speicherplatz der laufwerke - ok was er dann jedoch nicht mehr macht ist die anzeige der verbundenen netzlaufwerke. und dieses dumme problem treibt mich noch an den rand des wahnsinns. *haare rauf* Denn da die Prozesse, der benutzer sowie der speicherplatz funktionieren ist am Verbindungsaufbau nichts verkehrt. Die klasse ist auch korrekt. Grrr... |
Re: WMI Abfrageprobleme
Zitat:
sozusagen wäre es dir nicht gestattet diese Infomationen abzufragen. |
Re: WMI Abfrageprobleme
Es liegt gott sei dank nicht an fehlenden Rechten, sondern wie ich heute rausgefunden habe an folgendem :
Erst wenn ein Zugriff auf die Netzlaufwerke erfolgt wird in den Klassen WIN32_LogicalDisk WIN32_MappedLogicalDisk ein Eintrag/ eine Instanz erzeugt. Das heißt, wenn über längere zeit kein Zugriff auf ein Netzlaufwerk erfolgt wird diese Instanz des Netzlaufwerkes über WMI nicht angezeigt. Nur wenn Sie wirklich aktiv ist ist auch eine Instanz davon remote verfügbar. Somit passt meine Abfrage und mein Problem ist endlich gelöst :) bis zum nächsten Problem :)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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