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 Abfrageprobleme (https://www.delphipraxis.net/107106-wmi-abfrageprobleme.html)

newnetti 22. Jan 2008 15:38


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:
 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);
wo habe ich aktuell meinen denkfehler ?
oder kann ich remote diese information nicht auslesen ?

Wäre über hilfe dankbar :)

newnetti 31. Jan 2008 06:57

Re: WMI Abfrageprobleme
 
keiner eine idee ?
*schnieeeeefff*

andere möglichkeit Netzlaufwerke zu ermitteln ?

RWarnecke 31. Jan 2008 07:29

Re: WMI Abfrageprobleme
 
Mit diesem Code ermittelst Du den Laufwerkstyp. Und dieser Beitrag könnte da auch noch weiterhelfen.

soulies 31. Jan 2008 07:54

Re: WMI Abfrageprobleme
 
hoi,


versuch mal :

SQL-Code:
      select caption,volumename from Win32_LogicalDisk where drivetype=4
(drivetype 4 : netzwerkverbindung)

cya

newnetti 31. Jan 2008 08:59

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 :)

RWarnecke 31. Jan 2008 17:41

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.

newnetti 2. Feb 2008 10:36

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...

himitsu 9. Feb 2008 18:48

Re: WMI Abfrageprobleme
 
Zitat:

Zitat von newnetti
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...

tja, dann kann's ja fast nur noch an fehlenden Rechten liegen :gruebel:
sozusagen wäre es dir nicht gestattet diese Infomationen abzufragen.

newnetti 10. Feb 2008 09:20

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