gelöst Festplattenkapazität von Netzwerkrechnern auslesen
melanie1980 (Level 1) - Jetzt verbinden
02.02.2006, aktualisiert 30.03.2006, 12380 Aufrufe, 17 Kommentare
Ich möchte die Festplattenkapazität von den Client-Rechnern in meinem Netzwerk auslesen!
Anforderungen:
- Das Programm soll in VB realisiert werden!
- Über FSO oder Netzlaufwerk verbinden oder auf sonst eine Art und Weise soll auf bestimmte Clientrechner (Computername + Laufwerk) zugegriffen werden und den Füllzustand (Festplattenkapazität) ermittelt werden.
- Auf den Clientrechnern soll nichts installiert werden. Das Script soll als Job vom Server aus laufen, d.h. man müsste direkt auf den ClintPC verbinden.
Ich habe mir schon lange Gedanken gemacht, komm aber einfach auf keine Idee. hab hier im Forum schon lange rumgestöbert, aber nichts für meinen speziellen Fall gefunden...
Bitte um jede Art von Hilfe!!!
Mit freundlichen Grüßen aus Nürnberg
eure hilflose MELE
- Das Programm soll in VB realisiert werden!
- Über FSO oder Netzlaufwerk verbinden oder auf sonst eine Art und Weise soll auf bestimmte Clientrechner (Computername + Laufwerk) zugegriffen werden und den Füllzustand (Festplattenkapazität) ermittelt werden.
- Auf den Clientrechnern soll nichts installiert werden. Das Script soll als Job vom Server aus laufen, d.h. man müsste direkt auf den ClintPC verbinden.
Ich habe mir schon lange Gedanken gemacht, komm aber einfach auf keine Idee. hab hier im Forum schon lange rumgestöbert, aber nichts für meinen speziellen Fall gefunden...
Bitte um jede Art von Hilfe!!!
Mit freundlichen Grüßen aus Nürnberg
eure hilflose MELE
17 Antworten
- LÖSUNG 23866 schreibt am 02.02.2006 um 11:57:43 Uhr
- LÖSUNG Weiricth schreibt am 02.02.2006 um 12:02:03 Uhr
- LÖSUNG 23866 schreibt am 02.02.2006 um 12:49:09 Uhr
- LÖSUNG melanie1980 schreibt am 02.02.2006 um 13:33:46 Uhr
- LÖSUNG 23866 schreibt am 02.02.2006 um 20:34:55 Uhr
- LÖSUNG melanie1980 schreibt am 03.02.2006 um 09:30:54 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 09:38:22 Uhr
- LÖSUNG Tundra schreibt am 03.02.2006 um 09:39:58 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 09:45:35 Uhr
- LÖSUNG melanie1980 schreibt am 03.02.2006 um 11:13:12 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 11:28:09 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 12:56:35 Uhr
- LÖSUNG Tundra schreibt am 03.02.2006 um 13:25:39 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 11:28:09 Uhr
- LÖSUNG melanie1980 schreibt am 03.02.2006 um 11:13:12 Uhr
- LÖSUNG 23866 schreibt am 03.02.2006 um 09:45:35 Uhr
- LÖSUNG melanie1980 schreibt am 03.02.2006 um 09:30:54 Uhr
- LÖSUNG 23866 schreibt am 02.02.2006 um 20:34:55 Uhr
- LÖSUNG melanie1980 schreibt am 09.02.2006 um 16:01:29 Uhr
- LÖSUNG melanie1980 schreibt am 23.02.2006 um 15:45:58 Uhr
- LÖSUNG Tundra schreibt am 23.02.2006 um 16:26:52 Uhr
- LÖSUNG Xaero1982 schreibt am 30.03.2006 um 14:05:59 Uhr
- LÖSUNG Tundra schreibt am 23.02.2006 um 16:26:52 Uhr
- LÖSUNG melanie1980 schreibt am 23.02.2006 um 15:45:58 Uhr
LÖSUNG 02.02.2006 um 11:57 Uhr
...nun, VB6 ist nur ein Hobby von mir, aber diese spezielle Frage, solltest Du hier stellen:
www.vb-archiv.de
dort bekommst Du was VB angeht die beste Hilfe die es gibt.
www.vb-archiv.de
dort bekommst Du was VB angeht die beste Hilfe die es gibt.
LÖSUNG 02.02.2006 um 12:02 Uhr
hi,
also ich würds in clickexe (http://www.clickexe.de) da gibts die befehle vorgefertigt und man "Klickt" baut ich des schnell zusammen. des is a VB interpretter.
Grüße
TomTom
and never forget:
don't change a runing system
also ich würds in clickexe (http://www.clickexe.de) da gibts die befehle vorgefertigt und man "Klickt" baut ich des schnell zusammen. des is a VB interpretter.
Grüße
TomTom
and never forget:
don't change a runing system
LÖSUNG 02.02.2006 um 12:49 Uhr
cool... kannte ich gar nicht
LÖSUNG 02.02.2006 um 13:33 Uhr
leider hat mich die click.exe sowie vb@archiv nicht weitergebracht...
ich hätte gern lösungsvorschläge! auf foren surfe ich schon in den letzten 30 stunden genug rum... dreh noch durch!
bitte bitte bitte
brauch hilfe
ich hätte gern lösungsvorschläge! auf foren surfe ich schon in den letzten 30 stunden genug rum... dreh noch durch!
bitte bitte bitte
brauch hilfe
LÖSUNG 02.02.2006 um 20:34 Uhr
Hallo,
nun ich nehme an Du ahst eine VB Version zum programmieren bei der Hand.
Hier ein Lösungsansatz mit FSO:
Du brauchst Form1, Text1, Command1
Text1 und Command1 plazierst Du auf die Form.
Jetzt der Code:
Private Sub Command1_Click()
Dim lw As String
Dim fs, d
lw = Text1.Text
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(lw))
MsgBox "Freier Speicherplatz auf " & lw & FormatNumber(d.FreeSpace / 1024 / 1024, 0) & " MB"
End Sub
Wenn Du nun in die Textbox z.B.: C:\ schreibst und auf Command1 (Button) klickst, dann zeigt Dir das kleine Progamm, wieviel Speicher noch auf C:\ frei ist.
Voraussetzung für die Anzeige der Clientrechner Festplatten Kapazität ist, das Du jeden Rechner bzw. die Festplatte als Netzlaufwerk auf dem Server verbindest.
Grüsse Mike
nun ich nehme an Du ahst eine VB Version zum programmieren bei der Hand.
Hier ein Lösungsansatz mit FSO:
Du brauchst Form1, Text1, Command1
Text1 und Command1 plazierst Du auf die Form.
Jetzt der Code:
Private Sub Command1_Click()
Dim lw As String
Dim fs, d
lw = Text1.Text
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(lw))
MsgBox "Freier Speicherplatz auf " & lw & FormatNumber(d.FreeSpace / 1024 / 1024, 0) & " MB"
End Sub
Wenn Du nun in die Textbox z.B.: C:\ schreibst und auf Command1 (Button) klickst, dann zeigt Dir das kleine Progamm, wieviel Speicher noch auf C:\ frei ist.
Voraussetzung für die Anzeige der Clientrechner Festplatten Kapazität ist, das Du jeden Rechner bzw. die Festplatte als Netzlaufwerk auf dem Server verbindest.
Grüsse Mike
LÖSUNG 03.02.2006 um 09:30 Uhr
hallo,
erstmal vielen dank für den super tipp. hatte auch schon so etwas in der art, jedoch blüht ir noch eine lösung vor ohne de Netzlaufwerke verbinden zu müssen.
Gibt es überhaupt eine Möglichkeit auf die Festlpattenkapazität zugreifen zu können ohne sich ein Laufwerk zu verbinden???
bin auf jede meinung gespannt...
mele
erstmal vielen dank für den super tipp. hatte auch schon so etwas in der art, jedoch blüht ir noch eine lösung vor ohne de Netzlaufwerke verbinden zu müssen.
Gibt es überhaupt eine Möglichkeit auf die Festlpattenkapazität zugreifen zu können ohne sich ein Laufwerk zu verbinden???
bin auf jede meinung gespannt...
mele
LÖSUNG 03.02.2006 um 09:38 Uhr
...hmm, ich denke das zu mindest das Laufwerk freigegeben sin muss im Netzwerk, denn wie soll ich es sonst finden.
Zum Thema die Kapazität abzufragen ohne die Netzlaufwerke zu verbinden muss ich mich mal schlau machen, aber ich glaube das es evtl. machbar ist.
Mal guggn....
Grüsse Mike
Zum Thema die Kapazität abzufragen ohne die Netzlaufwerke zu verbinden muss ich mich mal schlau machen, aber ich glaube das es evtl. machbar ist.
Mal guggn....
Grüsse Mike
LÖSUNG 03.02.2006 um 09:39 Uhr
Kleine Programme kann man auch gut mit http://www.autoitscript.com/autoit3/ erstellen (Freeware).
Grüße
Guido
Grüße
Guido
LÖSUNG 03.02.2006 um 09:45 Uhr
hmmm.... jetzt würde mich interessieren, wie sich das mit AutoIt realisieren lässt.
LÖSUNG 03.02.2006 um 11:13 Uhr
mit autoId bin ich mir sicher, werd ich keine lösung finden. das soll jetzt nicht böse klingen, aber solche programme sind bei einer so komplexen aufgabenstellung nicht geeignet!
ich schätze mal, dass ich bei meinem problem nicht drumherum kommen werde, mir die entsprechenden laufwerke der reihe nach zu verbinden... oder wüsste jdm. ne andre möglichkeit???
achja, und dann bin ich auf der suche nach einem funktionierenden vb-code, mit dem ich mir laufwerke über den pc-namen verbinden und wider trenne kann (mit benutzername und passowort!)
wie gesagt, bin für jede hilfe sehr dankbar
grüßle
melanie
ich schätze mal, dass ich bei meinem problem nicht drumherum kommen werde, mir die entsprechenden laufwerke der reihe nach zu verbinden... oder wüsste jdm. ne andre möglichkeit???
achja, und dann bin ich auf der suche nach einem funktionierenden vb-code, mit dem ich mir laufwerke über den pc-namen verbinden und wider trenne kann (mit benutzername und passowort!)
wie gesagt, bin für jede hilfe sehr dankbar
grüßle
melanie
LÖSUNG 03.02.2006 um 11:28 Uhr
LÖSUNG 03.02.2006 um 12:56 Uhr
hab da noch ein bisschen gestöbert und bin noch aus das hier gestossen:
http://www.vbarchiv.net/archiv/tipp_details.php?pid=791
oder
http://www.vbarchiv.net/archiv/tipp_details.php?pid=330
das solltest eigentlich problemlos einbauen können, falls nicht meld Dich einfach nochmal, werde versuchen dir dabei zu helfen.
grüsse mike
http://www.vbarchiv.net/archiv/tipp_details.php?pid=791
oder
http://www.vbarchiv.net/archiv/tipp_details.php?pid=330
das solltest eigentlich problemlos einbauen können, falls nicht meld Dich einfach nochmal, werde versuchen dir dabei zu helfen.
grüsse mike
LÖSUNG 03.02.2006 um 13:25 Uhr
Einfache Beispiel in au3
<pre>
; Autor: Guido Eink
; Remote HDD ermitteln
;Konstanten und Variablen für die GUI
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
;Fenster erstellen
GUICreate("System-Informationen",300,180)
GUISetBkColor("0xFFFFCA")
GUISetFont(9,400,0,"Arial")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
;$CloseButton = GUICtrlCreateButton("Schließen",150,140,120,20)
GUICtrlCreateLabel("Rechner:",10,10) ;Position: left:30, top:10
$rechner = GUICtrlCreateInput("",80,10,140,20)
GUICtrlCreateLabel("Laufwerk:",10,50) ;Position: left:30, top:10
$lw = GUICtrlCreateInput("",80,50,40,20)
$okbutton = GUICtrlCreateButton("Anfrage",10,140,120,20)
GUICtrlSetOnEvent($okbutton, "OKButton")
;Fenster aufrufen
GUISetState(@SW_SHOW )
While 1
Sleep(1000) ; Häng rum
WEnd
func okbutton()
$anfrage = "\\" & GUICtrlRead($rechner) & "\" & GUICtrlRead($lw) & "$"
$var = DriveSpaceFree($anfrage)
GUICtrlCreateLabel("Ergebnis:",10,90) ;Position: left:30, top:10
GUICtrlCreateLabel($var & " MB",80,90,200,20) ;Position: left:30, top:10
EndFunc
func CLOSEClicked()
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
exit
EndFunc
</pre>
<pre>
; Autor: Guido Eink
; Remote HDD ermitteln
;Konstanten und Variablen für die GUI
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
;Fenster erstellen
GUICreate("System-Informationen",300,180)
GUISetBkColor("0xFFFFCA")
GUISetFont(9,400,0,"Arial")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
;$CloseButton = GUICtrlCreateButton("Schließen",150,140,120,20)
GUICtrlCreateLabel("Rechner:",10,10) ;Position: left:30, top:10
$rechner = GUICtrlCreateInput("",80,10,140,20)
GUICtrlCreateLabel("Laufwerk:",10,50) ;Position: left:30, top:10
$lw = GUICtrlCreateInput("",80,50,40,20)
$okbutton = GUICtrlCreateButton("Anfrage",10,140,120,20)
GUICtrlSetOnEvent($okbutton, "OKButton")
;Fenster aufrufen
GUISetState(@SW_SHOW )
While 1
Sleep(1000) ; Häng rum
WEnd
func okbutton()
$anfrage = "\\" & GUICtrlRead($rechner) & "\" & GUICtrlRead($lw) & "$"
$var = DriveSpaceFree($anfrage)
GUICtrlCreateLabel("Ergebnis:",10,90) ;Position: left:30, top:10
GUICtrlCreateLabel($var & " MB",80,90,200,20) ;Position: left:30, top:10
EndFunc
func CLOSEClicked()
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
exit
EndFunc
</pre>
LÖSUNG 09.02.2006 um 16:01 Uhr
also erstma danke für die vielen vorschläge und zahlreichen tipps,
da mir die lösung mit den verbinden von den laufwerken zu unsicher und unstabil erscheint, hab ich mich jetzt dafür entschieden, ein vb-script zu schreiben, welches ich auf den netzwerkerchnern über den scheduler bei jedem computerstart ablaufen lasse:
das programm vebindet sich per dns auf einen server mit oracle daten bank, auf der sich eine tabelle befindet mti folgenden daten:
rechnername
laufwerk (bsp. c: ODER c:/windows)
info (bsp. laufwerk oder verzeichnis)
freierspeicher (immer der gesamte speicher des rechners)
fuellzustand (bsp: 60 % ODER 14.000 MB je nachdem ob info = laufwerk (%) oder
verzeichnis (mb))
datum (der letzten speicherung)
das script holt sich alle datensätze, bei denen sich rechnername mit dem eigenen rechnernamen gleicht und deren datum älter als das heutige datum ist, so dass am tag nur eine speicherung vollzogen wird!
die laufwerksinfos für c: abzufragen ist einfach:
Private objFS
Private objDrive
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFS.GetDrive(Laufwerk)
FreierSpeicher = objDrive.FreeSpace
Speicherkapazitaet = objDrive.TotalSize
Speicherkapazitaet = FormatNumber(Speicherkapazitaet / 1024 ^ 2, 2)
FreierSpeicher = FormatNumber(FreierSpeicher / 1024 ^ 2, 2)
Fuellzustand = (FreierSpeicher / Speicherkapazitaet)
Set objFS = Nothing
Set objDrive = Nothing
nur für den fall das in einem datensatz bei INFO verzeichnis steht und dann sich in feld LAUFWERK ein C:/windows befindet, weiss ich keine lösung, denn dann soll anstand füllzustand in prozent --> die größe des verzeichnisses in mb eingetragen werden!
PROBLEM: doch wie kann ich die größe eines verzeichnisses herausbekommen????
wie immer mit freundlichen grüßen aus nürnberg
mele***
da mir die lösung mit den verbinden von den laufwerken zu unsicher und unstabil erscheint, hab ich mich jetzt dafür entschieden, ein vb-script zu schreiben, welches ich auf den netzwerkerchnern über den scheduler bei jedem computerstart ablaufen lasse:
das programm vebindet sich per dns auf einen server mit oracle daten bank, auf der sich eine tabelle befindet mti folgenden daten:
rechnername
laufwerk (bsp. c: ODER c:/windows)
info (bsp. laufwerk oder verzeichnis)
freierspeicher (immer der gesamte speicher des rechners)
fuellzustand (bsp: 60 % ODER 14.000 MB je nachdem ob info = laufwerk (%) oder
verzeichnis (mb))
datum (der letzten speicherung)
das script holt sich alle datensätze, bei denen sich rechnername mit dem eigenen rechnernamen gleicht und deren datum älter als das heutige datum ist, so dass am tag nur eine speicherung vollzogen wird!
die laufwerksinfos für c: abzufragen ist einfach:
Private objFS
Private objDrive
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objDrive = objFS.GetDrive(Laufwerk)
FreierSpeicher = objDrive.FreeSpace
Speicherkapazitaet = objDrive.TotalSize
Speicherkapazitaet = FormatNumber(Speicherkapazitaet / 1024 ^ 2, 2)
FreierSpeicher = FormatNumber(FreierSpeicher / 1024 ^ 2, 2)
Fuellzustand = (FreierSpeicher / Speicherkapazitaet)
Set objFS = Nothing
Set objDrive = Nothing
nur für den fall das in einem datensatz bei INFO verzeichnis steht und dann sich in feld LAUFWERK ein C:/windows befindet, weiss ich keine lösung, denn dann soll anstand füllzustand in prozent --> die größe des verzeichnisses in mb eingetragen werden!
PROBLEM: doch wie kann ich die größe eines verzeichnisses herausbekommen????
wie immer mit freundlichen grüßen aus nürnberg
mele***
LÖSUNG 23.02.2006 um 15:45 Uhr
hallo, ich bins wiedermal!
habe ein neues problem. es geht immernoch um meinen diskchecker!
ich bekomm ja mit dem code...
...heraus, wie groß meine festplatte c: ist, aber gibts auch ne möglichkeit mir alle festplatten anzusehen. des geht irgendwie über fso.drives oder so? ich bekomm es aber nicht hin. hat da einer ne idee, also so nach dem motto
for each fso.drive in fso.drives
getVolumeName
get VolumeTyp etc.
getVolumeSize
getVolumeTotalSize
next
bitte um jede hilfe! bin hier schon wieder seit dienstag am rumsuchen. ich weiss, dass hier einige sind, die mir sicherlich weiterhelfen können, gell!
wunderbarste grüße aus nürnberg
eure melanie
habe ein neues problem. es geht immernoch um meinen diskchecker!
ich bekomm ja mit dem code...
01.
Private objFS
02.
Private objDrive
03.
04.
Set objFS = CreateObject("Scripting.FileSystemObject")
05.
Set objDrive = objFS.GetDrive(c:)
06.
07.
FreierSpeicher = objDrive.FreeSpace
08.
Speicherkapazitaet = objDrive.TotalSize
...heraus, wie groß meine festplatte c: ist, aber gibts auch ne möglichkeit mir alle festplatten anzusehen. des geht irgendwie über fso.drives oder so? ich bekomm es aber nicht hin. hat da einer ne idee, also so nach dem motto
for each fso.drive in fso.drives
getVolumeName
get VolumeTyp etc.
getVolumeSize
getVolumeTotalSize
next
bitte um jede hilfe! bin hier schon wieder seit dienstag am rumsuchen. ich weiss, dass hier einige sind, die mir sicherlich weiterhelfen können, gell!
wunderbarste grüße aus nürnberg
eure melanie
LÖSUNG 23.02.2006 um 16:26 Uhr
Hi Melanie,
<pre>
option explicit
DIM O_FSO
DIM O_Laufwerk
DIM O_Laufwerke
DIM L_Wert
Set O_FSO = CreateObject("Scripting.FileSystemObject")
Set O_Laufwerke = O_FSO.Drives
for each O_Laufwerk in O_Laufwerke
if O_Laufwerk.IsReady then
L_Wert = "Laufwerk: " & O_Laufwerk.Driveletter & vbcrlf
L_Wert = L_Wert & " Type: " & O_Laufwerk.DriveType & vbcrlf
L_Wert = L_Wert & " Volume: " & O_Laufwerk.Volumename & vbcrlf
L_Wert = L_Wert & " Dateisystem: " & O_Laufwerk.FileSystem & vbcrlf
L_Wert = L_Wert & " Gesamtgröße: " & formatnumber(O_Laufwerk.Totalsize/1048576,1) & " MB" & vbcrlf
L_Wert = L_Wert & " Frei: " & FormatNumber(O_Laufwerk.FreeSpace/1048576,1) & " MB" & vbcrlf
L_Wert = L_Wert & " Seriennummer: " & O_Laufwerk.SerialNumber
wscript.echo L_Wert
end if
next
</pre>
Grüße
Guido
<pre>
option explicit
DIM O_FSO
DIM O_Laufwerk
DIM O_Laufwerke
DIM L_Wert
Set O_FSO = CreateObject("Scripting.FileSystemObject")
Set O_Laufwerke = O_FSO.Drives
for each O_Laufwerk in O_Laufwerke
if O_Laufwerk.IsReady then
L_Wert = "Laufwerk: " & O_Laufwerk.Driveletter & vbcrlf
L_Wert = L_Wert & " Type: " & O_Laufwerk.DriveType & vbcrlf
L_Wert = L_Wert & " Volume: " & O_Laufwerk.Volumename & vbcrlf
L_Wert = L_Wert & " Dateisystem: " & O_Laufwerk.FileSystem & vbcrlf
L_Wert = L_Wert & " Gesamtgröße: " & formatnumber(O_Laufwerk.Totalsize/1048576,1) & " MB" & vbcrlf
L_Wert = L_Wert & " Frei: " & FormatNumber(O_Laufwerk.FreeSpace/1048576,1) & " MB" & vbcrlf
L_Wert = L_Wert & " Seriennummer: " & O_Laufwerk.SerialNumber
wscript.echo L_Wert
end if
next
</pre>
Grüße
Guido
LÖSUNG 30.03.2006 um 14:05 Uhr
Alternative via WMI und Vbscript. Alternativ zur Messagebox kann man das auch in eine txt schreiben etc.
Die ersten Inputboxen brauchst du um die verbindung zum Remotenamespace herzustellen.
Dementsprechend brauchst du Adminrechte auf allen Maschinen.
*EDIT Fehler behoben*
01.
On Error Resume Next
02.
Const CONVERSION_FACTOR = 1048576
03.
04.
Const WbemAuthenticationLevelPktPrivacy = 6
05.
06.
strUser = InputBox("Please enter the user name: ")
07.
strPassword = InputBox ("Please enter the Passwort: ")
08.
strNamespace = "root\cimv2"
09.
10.
'Wiederholt so lange Host erreichbar ist bzw nicht unbekannter host als Meldung erscheint!
11.
do
12.
strComputer = InputBox ("Please enter the name of the computer you want to connect to: ")
13.
14.
If strComputer = "" Then
15.
do
16.
strComputer = InputBox("Please enter correct Computername: ")
17.
18.
loop until strComputer <> "" OR strComputer = False
19.
End If
20.
21.
'Erreichbarkeit des PC's testen - Ping==================
22.
23.
Set objShell = CreateObject("WScript.Shell")
24.
strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & "" 'Ping ausführen
25.
Set objExecObject = objShell.Exec(strCommand)
26.
'=======================================================
27.
Do While Not objExecObject.StdOut.AtEndOfStream
28.
strText = objExecObject.StdOut.ReadAll()
29.
If Instr(strText, "Anforderung") > 0 Then
30.
objshell.popup "Host " & strComputer & " nicht erreichbar!",3
31.
elseif Instr(strText, "Unbekannter Host " & strComputer & ".") <> 0 then
32.
objshell.popup "Host " & strComputer & " nicht erreichbar!",3
33.
end if
34.
loop
35.
loop while Instr(strText, "Unbekannter Host " & strComputer & ".")<>0 OR Instr(strText, "Anforderung") > 0
36.
'=======================================================
37.
38.
'Verbindung zum WMI Namespace herstellen================
39.
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
40.
Set objWMIService = objwbemLocator.ConnectServer (strComputer, strNamespace, strUser, strPassword)
41.
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
42.
'=======================================================
43.
44.
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk")
45.
46.
For Each objItem In colItems
47.
Message = Message & ("Name: " & objItem.Name) &vbcrlf
48.
Message = Message & ("FreeSpace: " & objItem.FreeSpace / CONVERSION_FACTOR & " MB") &vbcrlf
49.
Message = Message & ("Size: " & objItem.Size / CONVERSION_FACTOR & " MB") &vbcrlf
50.
Next
51.
52.
wscript.echo Message
Dementsprechend brauchst du Adminrechte auf allen Maschinen.
*EDIT Fehler behoben*
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte