Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Surveillance des disque en Vbscript et Wmi

lameche007, le jeudi 16 juin 2005 à 10:34:26
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
Répondre à lameche007  Signaler ce message aux modérateurs Aller au dernier message

1


  • 2
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
lameche007, le lundi 4 juillet 2005 à 09:37:36
mon problem est reglé
Répondre à lameche007

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
getmoa, le vendredi 4 août 2006 à 15:06:48
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Elcaralho, le vendredi 29 août 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

Résultats pour surveillance des disque en Vbscript et Wmi

[Linux] Rapport quotidien des serveurs par mail L'administration de systèmes Linux est une tâche d'autant plus difficile qu'il y a un grand nombre de serveurs car il faut surveiller continuellement les ressources systèmes et les mises à jour nécessaires pour chacun d'entre eux. Le script suivant... www.commentcamarche.net/faq/sujet-961-linux-rapport-quotidien-des-serveurs-par-mail
La mule plante et dossiers subitement vides (Résolu) Bonjour à tous Je viens de constater que tous les dossiers de mon disque externe sont vides Apres avoir laissé tourner mon ordi pendant 24h sans surveillance je m'aperçois avec effroi que emule est fermé. Je décide donc de le relancer mais... www.commentcamarche.net/forum/affich-2613753-la-mule-plante-et-dossiers-subitement-vides
Alerte Storm Worm (Résolu) Bonjour, Le virus Storm Worm se propage désormais sous la forme d'un message mettant en garde contre la surveillance des téléchargements par les maisons de disques et invitant le destinataire à installer un logiciel appelé Tor pour protéger sa... www.commentcamarche.net/forum/affich-3538725-alerte-storm-worm

Résultats pour surveillance des disque en Vbscript et Wmi

[Gravure] Graver une image disque (ISO, NRG, ...)Graver une image disque 1 - Définition de l'image ISO 2 - Recommandation 3 - Comment procéder ? 3.1 - Nero 3.2 - K3B 3.3 - BurnAtOnce 3.4 - BurnCDCC 3.5 - CDBurner XP Pro 3.6 - Deepburner 3.7 - Easy Media... www.commentcamarche.net/faq/sujet-3942-gravure-graver-une-image-disque-iso-nrg
Défragmenter son disque durLa défragmentation consiste à regrouper les fragments de fichiers éparpillés sur le disque afin d'optimiser les temps d'accès du disque dur lors de la lecture de fichiers de taille importante. Afin de défragmenter, des algorithmes élaborés sont... www.commentcamarche.net/faq/sujet-58-defragmenter-son-disque-dur
Disque dur externe USB non reconnu sous WindowsSi 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... www.commentcamarche.net/faq/sujet-2930-disque-dur-externe-usb-non-reconnu-sous-windows

Résultats pour surveillance des disque en Vbscript et Wmi

Surveiller CPU, disque dur, RAM (Résolu)Bonjour, je recherche un utilitaire qui se lancerai au demarrage de l'ordinateur et qui indiquerai le CPU, la capacité de chaque disque dur, la memoire vive restantes .... Je voudrai un logiciel qui indique ces donnes sous forme de graphiques... www.commentcamarche.net/forum/affich-5012987-surveiller-cpu-disque-dur-ram
Surveiller les accès disque (Résolu)Bonjour, J'aimerais savoir si vous connaissez un logiciel qui permet se savoir quel processus est en train de faire les accès disque (le PID me suffirais). J'en ai trouvé un il y a quelques mois, mais je ne sais pas ce que j'en ai fait... www.commentcamarche.net/forum/affich-4766317-surveiller-les-acces-disque
Logiciel gratuit partitionner disque dur (Résolu)bonjour, J'ai un disque dur que je souhaiterais fractionner en deux... Connaîtriez-vous un logiciel gratuit qui permette de partitionner un disque dur? merci! mathieu www.commentcamarche.net/forum/affich-1885677-logiciel-gratuit-partitionner-disque-dur

Résultats pour surveillance des disque en Vbscript et Wmi

VBScript - Les structures conditionnellesQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à... www.commentcamarche.net/contents/vbscript/vbscond.php3
Disque durLe 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 de... www.commentcamarche.net/contents/pc/disque.php3
Formatage - Formater un disque durAvant de vouloir comprendre ce qu'est le formatage, il est essentiel de connaître le fonctionnement d'un disque dur. Beaucoup de personne ne distinguent pas le formatage de bas niveau (appelé aussi formatage physique) et le formatage de haut... www.commentcamarche.net/contents/repar/format.php3