Neuigkeiten
hi weasel,
ich hab mich mal übers WE hingesetzt und ein Script geschrieben,
das Script ist im *.wsf Format ( WMI ) :
<job id='JOB_laufwerk_remote'>
<script id='script' language='VBScript'>
Option Explicit
laufwerk_remote
Sub laufwerk_remote()
Dim objOSet
Dim objServ, objServ1, objServ2, objServ3, objServ4, objServ5
Dim objWO
Dim fs, temp, file
Set objServ = GetObject("winmgmts://server1")
Set objServ1 = GetObject("winmgmts://server2")
Set objServ2 = GetObject("winmgmts://server3")
Set objServ3 = GetObject("winmgmts://server4")
Set objServ4 = GetObject("winmgmts://server5")
Set objServ5 = GetObject("winmgmts://server6")
Set fs = CreateObject("Scripting.FileSystemObject")
set temp = fs.GetSpecialFolder(2)
Set file = temp.CreateTextFile("laufwerke.htm", True)
file.WriteLine "<html><title>Laufwerke</title><style type=text/css>td { font-size:10pt; color:#990000; } th { font-size:12pt; color:#00eeee; background-color=#990000 }</style><body bgcolor=#bbbbbb><font color=990000 face=Verdana><center><h2>Laufwerke</h2></center>"
Const MBFaktor = 1048576 ' 1024 * 1024
Set objOSet = objServ.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 border=1 bordercolor=#990000 width=100%><th fontsize=20>SERVER1</th><th>SERVER2</th><th>SERVER3</th><tr><td valign=top>"
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & "</td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "<tr></tr></table></td><td valign=top>"
Set objOSet = objServ1.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & " </td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "<tr></tr></table></td><td valign=top>"
Set objOset = objServ2.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & " </td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "</tr></td></table></table><br>"
Set objOSet = objServ3.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 border=1 bordercolor=#990000 width=100%><th fontsize=20>SERVER4</th><th>SERVER5</th><th>SERVER6</th><tr><td valign=top>"
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & " </td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "<tr></tr></table></td><td valign=top>"
Set objOSet = objServ4.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & " </td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "<tr></tr></table></td><td valign=top>"
Set objOset = objServ5.InstancesOf("Win32_logicaldisk")
file.WriteLine "<table cellspacing=1 cellpadding=1 width=100%><tr></tr>"
For Each objWO In objOSet
file.WriteLine "<td bgcolor=#cccccc>" & objWO.Name & " </td><td bgcolor=#cccccc> " & objWO.Description & "</td><td align=right bgcolor=#cccccc> (" & Int(objWO.FreeSpace / MBFaktor) & " MB frei)" & "</td><tr>"
Next
file.WriteLine "</tr></td></table></table></body></html>"
End Sub
</script>
</job>
Hoffe man kann es lesen.
Mit diesem Script kann ich
1. Laufwerksnamen ( A:, C: usw ) auslesen
2. Beschreibung ( CD-Rom, Local disk usw )
3. den Freien Speicher auslesen
und dieses Script starte ich auf meinem lokalen PC und erzeugt automatisch eine "laufwerk.htm" Datei im Tempverzeichnis.
Sieht ganz hübsch aus, so in der Tabelle aufgelistet
Jetzt habe ich aber noch eine Frage : Kann ich dieses Script von einer ASP Seite starten und das Ergebniss in einem neuen Fenster anzeigen lassen ? (Natürlich mit nem Redirect der mindesten 20-30 sekunden dauert da ich über 25 Server anzeigen lassen möchte...)
Danke im Voraus
ps.: hier noch das Stückchen wenn man auch die Gesamtgröße der Festplatte angezeigt bekommen möchte : Int(objWO.Size / MBFaktor)