mowgly
Goto Top

Netzwerklaufwerke abfragen

Ziel : Gemappte Linuxverzeichnisse abfragen nach belegtem Speicherplatz in BgInfo

Hallo,
ich habe es gehabt und nun ist es weg... 4ever face-sad

Ich habe bginfo drauf und neuinstaliert und es hat mit vorher alle Netzwerkfreigaben und deren belegten Speicher angezeigt.
Der Server ist ein Linux-Samba Server : IP: 192.168.1.90
Die Verzeichnisse liegen auf einer HDd. D.h,. wenn feier Speicherplatz angezeigt wird, wird bei allen gemappen Laufwerken der gleiche Platz angezeigt. Was für mich interessant ist, ist die Größe des eigentlichem Mappings...
P: für programme , H: Home etc. und wieviel Platz ist steht dem Mapping noch zur Verfügung und
das in erner vernünfigten Anzeige in GB und nicht in Bytes face-smile evtl. kann da jemand helfen? unter der WMI-Abfrage bekomme ich es nicht hin Beitrag im Sysinternal Forum Da hatte dem User keiner geantwortet.

Hier steht das man (Size / 1024 / 1024 / 1024) zu Abfrage SELECT Size FROM Win32_DiskDrive verwenden soll doch ich bekome dort die Meldung (Query not in form 'SELECT xxx FROM ...') => geht nicht.
Evtl kann es einer mit VBS realisieren...

Vielen Dank im voraus für eure Hilfe ..

Gruß
Mowgly

Content-ID: 92999

Url: https://administrator.de/contentid/92999

Ausgedruckt am: 05.11.2024 um 19:11 Uhr

iammixi
iammixi 28.07.2008 um 03:08:44 Uhr
Goto Top
Hi Mowgly,

ich vermute du hast den SELECT falsch formuliert. Er heißt richtig:

SELECT Size / 1024 / 1024 / 1024 FROM Win32_DiskDrive

Michi
Mowgly
Mowgly 28.07.2008 um 21:08:01 Uhr
Goto Top
nö geht leider nicht .. gleiche Meldung
(Query not in form 'SELECT xxx FROM ...')

ein SELECT 'Size / 1024 / 1024 / 1024' FROM Win32_DiskDrive
und
'SELECT Size / 1024 / 1024 / 1024 FROM Win32_DiskDrive'

geht leider auch nicht face-sad
iammixi
iammixi 29.07.2008 um 18:22:23 Uhr
Goto Top
Hallo Mowgly,

hier deine Frage in VBS beantwortet:

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:\\localhost\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "Availability: " & objItem.Availability
WScript.Echo "CreationClassName: " & objItem.CreationClassName
WScript.Echo "Description: " & objItem.Description
WScript.Echo "DeviceID: " & objItem.DeviceID
WScript.Echo "InterfaceType: " & objItem.InterfaceType
WScript.Echo "MediaType: " & objItem.MediaType
WScript.Echo "Size: " & (objItem.Size / 1024 / 1024 / 1024) & " GB"
WScript.Echo "Status: " & objItem.Status
WScript.Echo "StatusInfo: " & objItem.StatusInfo
WScript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
WScript.Echo "SystemName: " & objItem.SystemName
WScript.Echo
Next
Next

Es listet schlicht alle Laufwerke deines Rechners auf dem du es ausführst.

Michi
Mowgly
Mowgly 29.07.2008 um 21:51:44 Uhr
Goto Top
nope nicht wirklich.... es sollte auch nicht die Localhostlaufwerke auflisten sondern die von einem Localen Server. Vielleicht hätte es nicht Win32_DiskDrive sondern Win32_LogicalDisk sein sollen das listet wirklich alle auf.... es verwirrt etwas sorry.
Evtl funktioniert dein Script ja bei dir aber unter dem bginfo geht es nicht... es zeigt nichtmal einen Fehler an... Danke dir aber trotzdem für deine Mühe..

Gruß
Mowgly
bastla
bastla 30.07.2008 um 00:56:28 Uhr
Goto Top
... nur als Anmerkung: Bei Verwendung von VBScript für "BGInfo" nicht "WScript.Echo", sondern nur "Echo" für die Ausgabe verwenden ...

... wie etwa in diesem Beispiel:
LW = "H:"  
K = "GB"  
EH = 1024*1024*1024

Set fso = CreateObject("Scripting.FileSystemObject")  
Set d = fso.GetDrive(LW)
Echo "Verwendet:  " & Int(fso.GetFolder(LW).Size/EH) & " " & K & "; " _  
    & "frei: " & Int(d.FreeSpace/EH) & " " & K  
... oder doch als Übersicht über alle Netzlaufwerke:
K = "GB"  
EH = 1024*1024*1024

Set fso = CreateObject("Scripting.FileSystemObject")  
For Each d In fso.Drives
    If d.IsReady Then
        If d.DriveType = 3 Then
        Out = Out & vbCrLF & vbTab _
            & d.DriveLetter & ":\ " _  
            & FormatNumber(fso.GetFolder(d.DriveLetter & ":\").Size/EH,2) _  
            & " " & K & "; frei: " _  
            & FormatNumber(d.FreeSpace/EH,2) _
            & " " & K  
        End If
    End If
Next
Echo Mid(Out,4)
Grüße
bastla
Mowgly
Mowgly 30.07.2008 um 23:53:32 Uhr
Goto Top
Super ... vielen Dank das ging... Mein Held :D

Den anderen aber auch vielen Dank für die Bemühungen.