ott
Neuling
Thread Starter
- Mitglied seit
- 03.02.2009
- Beiträge
- 251
Moin Kollegen,
ich hänge grad bei einem Problem mit Variablen (glaube ich jedenfalls)
Es geht um folgenden Code:
Die Festplatten von jedem Server in dem Array [servers] werden abgefragt, zusammen mit dem Laufwerksbuchstaben und dem freien Speicherplatz. Wenn alle Server erreichbar sind, funktioniert das auch ohne Probleme.
Wenn aber ein Server nicht erreichbar ist, schreibt das Script die Werte vom zuletzt erfolgreich abgefragten Server in die Liste.
#### CODE ####
'fuer jeden server in array(servers) wird Call RunQuery(server) ausgeführt
for each server in servers
Call RunQuery(server)
Next
Sub RunQuery(Byval server)
On Error Resume Next
wscript.echo server
Set wmi = GetObject("winmgmts:\\" & server & "\root\CIMV2")
Set colItems = wmi.ExecQuery("Select * from Win32_LogicalDisk where DriveType = 3",,48)
For Each oItem in colItems
'Laufwerksbuchstabe
varDeviceid = oItem.deviceid
'freier Speicher in GB
varFreespace = (oItem.freespace/1024/1024/1024)
varFreespace = Round(varFreespace, 2)
'Werte in Datei schreiben
objFile.WriteLine "Server:" & server & "<br>"
objFile.WriteLine "Laufwerk: " & varDeviceid & " " & varFreespace & " GB frei<br>"
Next
End Sub
#### CODE ####
#### AUSGABE####
Server: Server 1 // online, erreichbar
Laufwerk: C: 4,03 GB frei
Server: Server 2 // offline, nicht erreichbar
Laufwerk: C: 4,03 GB frei
#### AUSGABE####
Bei Server 2 sollte sowas wie "offline" oder "nicht erreichbar" stehen, leider habe ich einen Knoten im Kopf und habe keine Ahnung, wie ich das machen soll. Ich hoffe, dass mir hier jemand einen Denkanstoß geben kann.
Gruß,
ott
ich hänge grad bei einem Problem mit Variablen (glaube ich jedenfalls)
Es geht um folgenden Code:
Die Festplatten von jedem Server in dem Array [servers] werden abgefragt, zusammen mit dem Laufwerksbuchstaben und dem freien Speicherplatz. Wenn alle Server erreichbar sind, funktioniert das auch ohne Probleme.
Wenn aber ein Server nicht erreichbar ist, schreibt das Script die Werte vom zuletzt erfolgreich abgefragten Server in die Liste.
#### CODE ####
'fuer jeden server in array(servers) wird Call RunQuery(server) ausgeführt
for each server in servers
Call RunQuery(server)
Next
Sub RunQuery(Byval server)
On Error Resume Next
wscript.echo server
Set wmi = GetObject("winmgmts:\\" & server & "\root\CIMV2")
Set colItems = wmi.ExecQuery("Select * from Win32_LogicalDisk where DriveType = 3",,48)
For Each oItem in colItems
'Laufwerksbuchstabe
varDeviceid = oItem.deviceid
'freier Speicher in GB
varFreespace = (oItem.freespace/1024/1024/1024)
varFreespace = Round(varFreespace, 2)
'Werte in Datei schreiben
objFile.WriteLine "Server:" & server & "<br>"
objFile.WriteLine "Laufwerk: " & varDeviceid & " " & varFreespace & " GB frei<br>"
Next
End Sub
#### CODE ####
#### AUSGABE####
Server: Server 1 // online, erreichbar
Laufwerk: C: 4,03 GB frei
Server: Server 2 // offline, nicht erreichbar
Laufwerk: C: 4,03 GB frei
#### AUSGABE####
Bei Server 2 sollte sowas wie "offline" oder "nicht erreichbar" stehen, leider habe ich einen Knoten im Kopf und habe keine Ahnung, wie ich das machen soll. Ich hoffe, dass mir hier jemand einen Denkanstoß geben kann.
Gruß,
ott