Rechercher : dans
Par :

Surveillance des disque en Vbscript et Wmi

Dernière réponse le 15 fév 2009 à 20:12:07 lameche007, le 16 jun 2005 à 10:34:26 
 Signaler ce message aux modérateurs

Bonjour a tous je debute en vbScript et donc comme tout debutant j ai un probleme que vois ci :
Je doit faire un script pemettant la surveillance d espace disque sur des seveurs j ai donc fai un script qui permet de recuperer l espace disque total ainsi que l espace libre sur celui ci en pour centage !!

Maintenant je souhaiterais pouvoir spécifier une liste de serveurs avec un seuil en % pour chacun des volumes de chaque serveur puis stocker ces informations horodatées dans une base de type Access et finalement pouvoir faire des remonter d'alerte via Lotus si un volume est en dessous du seuil pré-défini

voila alors est ce que quelqu ' un peu m orienter ou bien me donner des lien traitant d un sujet similaire parceque j ai beau chercher et je ne trouve rien merci d avance a tous

voila mon debut de script qui je pense peut vous aider a comprendre un pue mieux ce que je veux faire :

'----------------------------------------------------------
' Script de description des Hdd dans une page web
' ----------------------------------------------------------
Dim cnt
dim Aff()
dim Aff0()
dim Aff1()
dim Aff2()
dim Aff3()

cnt = 0
Redim Aff(cnt)
Redim Aff0(cnt)
Redim Aff1(cnt)
Redim Aff2(cnt)
Redim Aff3(cnt)

Select Case WScript.Arguments.Count
Case 0
' Default if none specified is local computer (".")
Set objWMIService = GetObject( "winmgmts://./root/cimv2" )
Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
For Each objItem in colItems
strComputer = objItem.Name
Next
Case 1
' Command line parameter can either be a computer name
' or "/?" to request online help
strComputer = Wscript.Arguments(0)
if InStr( strComputer, "?" ) > 0 Then Syntax
Case Else
' Maximum is 1 command line parameter
Syntax
End Select

Display( strComputer )

Function Display( strComputer )
On Error Resume Next
Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
If Err.Number Then
WScript.Echo vbCrLf & "Error # " & CStr( Err.Number ) & _
" " & Err.Description
Err.Clear
Syntax
End If
On Error GoTo 0
' Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where MediaType=12",,48)
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where DriveType=3",,48)
For Each objItem in colItems
Aff(cnt) = strComputer
Aff0(cnt) = objItem.Name & vbTab
Aff1(cnt) = CStr( Int( 0.5 + ( objItem.Size / 1073741824 ) ) )
Aff2(cnt) = CStr( Int( 0.5 + ( objItem.FreeSpace / 1073741824 ) ) )
Aff3(cnt) = CStr( Int( 0.5 + ( 100 * objItem.FreeSpace / objItem.Size) ) ) & _
vbCrLf
cnt = cnt + 1
Redim Preserve Aff(cnt)
Redim Preserve Aff0(cnt)
Redim Preserve Aff1(cnt)
Redim Preserve Aff2(cnt)
Redim Preserve Aff3(cnt)
Next
End Function

' ----------------------------------------------------------
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
DestHtml = "hd.html"
CreateHTML DestHTML

Sub CreateHTML(filename)
dim ts
set ts=fso.CreateTextFile(filename,true)
ts.writeline "<HTML>"
ts.WriteLine "<BODY>"
ts.WriteLine "<b><CENTER><H3>Affiche les informations des HDD</H3></b>"
ts.writeline "<table border=1 cellspacing=1 width=100%>"
ts.writeline "<tr>"
ts.writeline "<td width=20%>"
ts.writeline "<p align=center><b>Name</b></td>"
ts.writeline "<td width=20%>"
ts.writeline "<p align=center><b>Drive</b></td>"
ts.writeline "<td width=20%>"
ts.writeline "<p align=center><b>Size</b></td>"
ts.writeline "<td width=20%>"
ts.writeline "<p align=center><b>Free</b></td>"
ts.writeline "<td width=20%>"
ts.writeline "<p align=center><b>% Free</b></td>"
ts.writeline "</tr>"
ts.writeline "<tr>"
for i = 0 to cnt
ts.writeline "<td width=20%><p align=center><b><font color=#FF0000>" & Aff(i) & "</font></b></td>"
ts.writeline "<td width=20%><p align=center><b><font color=#FF0000>" & Aff0(i) & "</font></b></td>"
ts.writeline "<td width=20%><p align=center><b><font color=#FF0000>" & Aff1(i) & "</font></b></td>"
ts.writeline "<td width=20%><p align=center><b><font color=#FF0000>" & Aff2(i) & "</font></b></td>"
ts.writeline "<td width=20%><p align=center><b><font color=#FF0000>" & Aff3(i) & "</font></b></td>"
ts.writeline "</tr>"
next

ts.writeline "</table>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<p> </p>"
ts.writeline "<b><font size=2>Fait le 14 juin 2005 par Mohax qui pète un plomb lol</font></b>"
ts.WriteLine "</CENTER></BODY>"
ts.WriteLine "</HTML>"
ts.close
End Sub

Meilleures réponses pour « surveillance des disque en Vbscript et Wmi » dans :
Disque dur externe USB non reconnu sous Windows VoirSi Windows ne reconnaît pas votre disque dur externe, veuillez vérifier les points suivants : Dans le panneau de configuration : Double-cliquer sur Outils d'administration, Cliquer sur Gestion de l'ordinateur Cliquer sur Gestion des...
Numériser ses cassettes audio ou vinyles sur CD ou disque dur VoirComment transférer le contenu d'une cassette audio ou d'un vinyle vers son disque dur ? Comment graver sur CD ses vieux vinyles et cassettes ? Cet article vous présente le matériel et les logiciels nécessaires pour y remédier : I....
Disque dur VoirLe rôle du disque dur Le disque dur est l'organe servant à conserver les données de manière permanente, contrairement à la mémoire vive, qui s'efface à chaque redémarrage de l'ordinateur, c'est la raison pour laquelle on parle parfois de mémoire...
Partition - Partitionnement d'un disque dur VoirQu'est-ce qu'une partition? Le partitionnement d'un disque dur se fait après le formatage physique de celui-ci et avant le formatage logique. Il consiste à créer des zones sur le disque dont les données ne seront pas mélangées. Cela sert par...
Assemblage d'un PC - Branchement des disques durs VoirDisques durs, lecteurs CD-ROM/DVD-ROM et lecteur de disquettes La carte mère comporte en général deux connecteurs IDE (Integrated Device Electronics) : Le premier connecteur est appelé connecteur primaire (en anglais primary device controller)...

1

lameche007, le 4 jui 2005 à 09:37:36
  • +1

Mon problem est reglé

Répondre à lameche007

2

getmoa, le 4 aoû 2006 à 15:06:48
  • +1

Bonjour,
Pourrais-tu donner la reponse stp ? j'ai le même pb, ou plutôt le même besoin. merci

Répondre à getmoa

3

Elcaralho, le 29 aoû 2008 à 17:11:31

Bonjour,

Tout d'abord,Tres bon travail pour un debutant!!!

J'ai recemment eu le meme besoin et j'ai modifié un petit peu le code pour permettre l'affichage a partir d'une liste de nom d'ordi.

le fichier contenant les ordi doit s'appeler ordi.txt, doit se trouver dans le meme repertoire que le script et doit contenir un nom d'ordi par ligne

exempl:

Ordi1
Ordi2
Ordi3


le main du programme est le suivant il faut bien evidemment recuperer le code des fonction Display et CreateHTML:

'**************************************************
Dim cnt
dim Aff()
dim Aff0()
dim Aff1()
dim Aff2()
dim Aff3()

cnt = 0
Redim Aff(cnt)
Redim Aff0(cnt)
Redim Aff1(cnt)
Redim Aff2(cnt)
Redim Aff3(cnt)


Const ForReading = 1
Dim oFso, f

dim rep,fic
rep = WScript.ScriptFullName
fic = WScript.ScriptName

rep = left(rep,len(rep)-len(fic))


Set oFso = CreateObject("Scripting.FileSystemObject")
Set f = oFso.OpenTextFile(rep &"ordi.txt", ForReading)
while Not f.AtEndOfStream
'wscript.echo f.ReadLine
strComputer = f.ReadLine
Display( strComputer )

Wend
f.Close

Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
DestHtml = "hdd.html"
CreateHTML DestHTML

'petit plus on ouvre directement le fichier dans IE
Dim IE
Set IE = Wscript.CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.navigate rep & "hdd.html"

'*************************************************


Je n'ai pas gerer les erreurs au cas ou les ordi n'existent pas donc attention a l'orthographe!!!

++

Répondre à Elcaralho

4

 jmvd2, le 15 fév 2009 à 20:12:07

Bonjour,
Ce script m'interresse,
Je suis nul en prog.
Est il possible de me compiler les deux scripts afin d'avoir un script qui marche ?
Merci a vous...

Répondre à jmvd2