Bonjour,
Voilà, Je ne connais rien en vbs. j'ai réuperé un script en vbs qui marche bien. quelqu'un pourrai me corriger svp ?
Le script m'indique simplement la taille de disque, l'espace libre et la taille en pourcentage. C'est déjà bien. mais je voudrai que le script m'indique aussi l'espace utilisé en Mo ou Go etc...aussi dans le fichier rapport.
En vous remerciant
voici le script :
'----------------------------------------------------------
' Script de description des Hdd dans une page web
' ----------------------------------------------------------
Dim cnt
dim Aff()
dim Aff0()
dim Aff1()
dim Aff2()
dim Aff3()
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
SUPER sbt
Un grand merci à toi. ok çà marche.
je voulais avoir ton avis. j'ai mis ce script en tache planifié sur pas mal de serveur et le rapport de ce script est crée sur chaque serveur. jusqu'à là tout va bien.
2 questions stp :
Peut-on modifier ce code pour que les rooports soit envoyer sur une adresse de messagerie?
Sinon peut-on modifier ce code pour lire un fichier par exemple serveur.txt qui comprend les noms de tous mes serveurs dans un domain et envoyer juste un seul rapport ou créer un seul rapport et laisser sur un serveur ou soit m'envoyer par la messagerie à mon adresse ?
cela me permetra de ganier un temps enorme.
Excuse-moi SBT je ne sais pas si je suis clair ?
merci pour ton retour
bjr, je fais un stage au bresil en reseau. mn chef ma demander de faire un script qui lit le contenu d un fichier selon l especification genre:
je recheche les mots(nom ,adresse, loca).
quand il trouve un de ces mots sur une ligne il copí toute la ligne et la sauve dans un autre fichier. apres avoir trouver tout les renseignements il imprime sous forme de tableau ou liste!
je suis debutan en vbscript alors je besoins d aide!
Tu devrais faire une recherche sur google.
VBS lire fichier txt
vbs ecrire ficheir txt
Sinon voici un exemple de lecture :
dim fso, text, readfile, ligne
set fso = CreateObject("Scripting.FileSystemObject")
set readfile = fso.OpenTextFile("c:\tonfichier.txt", 1, false)
do while readfile.AtEndOfStream=false
'le traitement à faire ici
' a la fin du traitement de la ligne, on lit la suivante
contents = readfile.ReadLine
loop
readfile.close
en espérant que cela puisse t'aider un peu...
Je te laisse voir pour l'écriture, et la recherche d'un mot dans une chaine de caractères...
En cherchant sur le net, je sur certain que tu trouveras tous les exemples dont tu as besoin
...
Merci beaucoup pr l aide mais jete un oiel sur ce code ici pcq il me marche ps. j ai consulté certain site et j arrive tjrs ps a trouver cmt parcourire le ligne et les copiés pr un autre fichier
'Instruction Option Explicit: Force la déclaration explicite de toutes les variables dans un script
Option Explicit
' \\Declaration des variables et des objets
Dim objFSO
Dim sRead
Dim sReadLine
Dim sReadAll
Dim objTextFile
const ForReading = 1
Const ForWriting = 2
const ForAppending = 8
' \\creation de l objet Fso
set objFSO = CreateObject("Scripting.fileSystemObject")
' \\localisation et verification du local du fichier a etre li
set objTextFile = objFSO.OpenTextFile (":\text\text0.txt", ForReading, True)
objFSO.FileExists("E:\text\text0.txt")
While objTextFile.AtEndOfStream <> True
sRead= objTextFile.ReadLine
Wend
objTextFile.Close