IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

espace disque pour serveur


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut espace disque pour serveur
    bonjour à tous,

    J'aimerais savoir s'il etait possible que vous m'aidiez pour mon code en effet j'aimerais apporter quelques modifs, ce script sera lancé toutes les nuits et donnera des informations dans un fichier texte et si c'est possible sera envoyé par mail !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    option explicit
    dim rapport
    dim fs
    const ForWriting = 2
     
    information
     
     
    Sub information
     
    dim objCpu
    dim cpu
     
    dim objOs
    dim Os
     
    dim objRam
    dim Ram
     
    dim objDisk
    dim Disk
    dim Disk2
     
    dim objpart
    dim part
     
    Dim objbattery
    Dim battery
     
    Dim objstartup
    Dim startup
     
    Dim Wshell
     
     
    set Wshell      = CreateObject("Wscript.shell")
    set fs          = CreateObject("scripting.FileSystemObject")
     
    Set objCpu      = GetObject( "winmgmts:\\").InstancesOf("Win32_processor")
    set objOs       = GetObject( "winmgmts:\\").InstancesOf("Win32_OperatingSystem")
    set objRam      = GetObject( "winmgmts:\\").InstancesOf("Win32_physicalMemory")
    set objDisk     = GetObject( "winmgmts:\\").InstancesOf("Win32_DiskDrive")
    set objpart     = GetObject( "winmgmts:\\").InstancesOf("Win32_DiskPartition")
    Set objbattery  = GetObject( "winmgmts:\\").InstancesOf("Win32_Battery")
    Set objstartup  = GetObject( "winmgmts:\\").InstancesOf("Win32_StartupCommand")
     
     
    set rapport = fs.OpenTextFile("recapserveur.log",ForWriting, true)
    rapport.writeLine("Fichier d'informations sur le serveur")
    rapport.writeLine("")
    rapport.writeLine("")
    rapport.writeLine("Info Processeur :")
    rapport.writeLine("")
    For each cpu in objCpu
           rapport.writeLine("   Nom                      : " & cpu.Name)
           rapport.writeLine("   Description              : " & cpu.Description)
           rapport.writeLine("   Fréquence réelle         : " & cpu.CurrentClockSpeed & " Mhz")
           rapport.writeLine("   DataWidth                : " & cpu.DataWidth & " Ko")
           rapport.writeLine("   DeviceID                 : " & cpu.DeviceID)
           rapport.writeLine("   L2CacheSize              : " & cpu.L2CacheSize & "Ko")
           rapport.writeLine("   L2CacheSpeed             : " & cpu.L2CacheSpeed & "Ko")
           rapport.writeLine("   Fabriquant               : " & cpu.Manufacturer)
           rapport.writeLine("   Fréquence Max            : " & cpu.MaxClockSpeed & "Mhz")
           rapport.writeLine("")
    next
    rapport.writeLine("")
    rapport.writeLine("")
     
    rapport.writeLine("Info Système Exploitation :")
    rapport.writeLine("")
    for each Os in objOs
    rapport.writeLine("   Caption                  : " & Os.Caption)
    rapport.writeLine("   CSDVersion               : " & Os.CSDVersion)
     
    rapport.writeLine("   Mémoire vive libre       : " & FormatNumber(Os.FreePhysicalMemory / 1024, 1) & " Mo")
    rapport.writeLine("   FreeSpaceInPagingFiles   : " & FormatNumber(Os.FreeSpaceInPagingFiles/ 1024, 1) & " Mo")
    rapport.writeLine("   Mémoire virtuelle libre  : " & FormatNumber(Os.FreeVirtualMemory/ 1024, 1) & " Mo")
    rapport.writeLine("   MaxProcessMemorySize     : " & FormatNumber(Os.MaxProcessMemorySize/ 1024, 1) & " Mo")
    rapport.writeLine("   Nombre d'utilisateurs    : " & Os.NumberOfUsers)
    rapport.writeLine("   Organisation             : " & Os.Organization)
    rapport.writeLine("   RegisteredUser           : " & Os.RegisteredUser)
    rapport.writeLine("   Numéro de série          : " & Os.SerialNumber)
    rapport.writeLine("   Version                  : " & Os.Version)
    rapport.writeLine("   Chemin Windows System    : " & Os.WindowsDirectory)
    rapport.writeLine("")
    next
    rapport.writeLine("")
    rapport.writeLine("")
    rapport.writeLine("")
    rapport.writeLine("")
     
    rapport.writeLine("Info Mémoire Vive :")
    rapport.writeLine("")
    for each ram in objRam
            rapport.writeLine("   Capacity                 : " & FormatNumber(ram.Capacity/ 1024^2, 1) & " Mo")
            rapport.writeLine("   DataWidth                : " & ram.DataWidth )
            rapport.writeLine("   MemoryType code          : " & ram.MemoryType) 'code
            rapport.writeLine("")
    next
    rapport.writeLine("")
    rapport.writeLine("")
     
    rapport.writeLine("Info Disque dur :")
    rapport.writeLine("")
    for each Disk in objDisk
            rapport.writeLine("   Caption                  : " & Disk.Caption)
            rapport.writeLine("   InterfaceType            : " & Disk.InterfaceType)
            rapport.writeLine("   Modèle                   : " & Disk.Model)
            rapport.writeLine("   Nom                      : " & Disk.Name)
            rapport.writeLine("   Taille                   : " & FormatNumber(Disk.Size/ 1024^2, 1) & " Mo")
            rapport.writeLine("   Status                   : " & Disk.Status)
            if not(IsNull(Disk.StatusInfo)) then
                    rapport.writeLine("   StatusInfos      : " & Disk.StatusInfo)
            end if
            rapport.writeLine("")
    next
    rapport.writeLine("")
    rapport.writeLine("")
     
    rapport.writeLine("Info Partitions :")
    rapport.writeLine("")
    For each part in objpart
           rapport.writeLine("   Caption                  : " & part.Caption)
           rapport.writeLine("   Taille                   : " & FormatNumber(part.Size/ 1024^2, 1) & " Mo")
           rapport.writeLine("   Première Partition       : " & part.PrimaryPartition)
           rapport.writeLine("   Type                     : " & part.Type)
    	   rapport.writeLine("")
    next
    rapport.writeLine("")
    rapport.writeLine("Info disques logiques: ")
    rapport.writeLine("")
    for each disk2 in fs.Drives
            if (disk2.driveType = 2) then
            rapport.writeLine("   Disque logique           : " & disk2.driveletter & " ")
            rapport.writeLine("   Système de fichier       : " & disk2.FileSystem)
            rapport.writeLine("   Espace total             : " & FormatNumber(disk2.totalsize / 1024^2, 1) & " Mo")
            rapport.writeLine("   Espace disponible        : " & FormatNumber(disk2.AvailableSpace/ 1024 ^2, 1) &  " Mo")
            rapport.writeLine("")
            rapport.writeLine("")
            End if
    Next
     
    rapport.Close
     
    End sub
    en faite j'aimerais obtenir des informations sur l'espace disque de mes partitions, car là je n'ai que l'espace disque du disque dur logique (c

    deuxièmement, j'aimerais que mon fichier qui est crée porte un nom en rapport avec la date du jour genre 02012007.log et que ce fichier texte ne soit pas remplacé car const ForWriting = 2 remplace le fichier lors du lancement du script.

    Voilà pour l'instant ! Merci pour votre année et j'en profite pour vous transmettre mes voeux !

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    j'aimerais obtenir des informations sur l'espace disque de mes partitions
    ces informations figurent déjà dans ton code grâce à l'objet objpart
    j'aimerais que mon fichier qui est crée porte un nom en rapport avec la date du jour
    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rapport = fs.OpenTextFile("recapserveur.log",ForWriting, true)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sDate=Cstr(Date)
    set rapport=fs.OpenTextFile(Mid(sDate,7,4) & Mid(sDate,4,2) & Mid(sDate,1,2) & ".log",ForWriting, true)
    je suppose que tu utilises un format date français

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    merci pour ces infos !


    comment je peux faire pour que mon script crée un fichier texte tous les jours donc dans le meme dossier sans remplacer l'initial ou sans ecrire à la suite de l'autre ? un fichier de log par jour en gros

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Euh...

    As-tu essayé ce que omen999 t'a proposé?
    Comprends-tu la dernière ligne de code qu'il t'a donnée?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    j'ai essayé mais ça marche pas :

    en effet après avoir dim Sdate au lancement l'erreur suivante apparait

    "argument ou appel de procédure incorrect"

    je veux bien qu'on m'explique la dernière ligne !

    merci

  6. #6
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    un exemple de conde fonctionnel (à copier/coller soigneusement) ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    const ForWriting = 2
    set fs=CreateObject("scripting.FileSystemObject")
    sDate=Cstr(Date)
    set rapport=fs.OpenTextFile(Mid(sDate,7,4) & Mid(sDate,4,2) & Mid(sDate,1,2) & ".log",ForWriting, true)
    rapport.writeline "test"
    rapport.Close
    je veux bien qu'on m'explique la dernière ligne !
    on saucissonne avec la fonction Mid() la chaine sDate qui affiche la date du jour (format français) soit 05/01/2007 pour la transformer en 20070105.log
    petit raffinement qui facilite le classement chronologique des logs

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    ça marche niquel merci

    dans le cadre d'une présentation j'aimerais bien que vous m'aidiez a comprendre les poins essentiels de ce script !

    Merci bonne journée !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    a quoi correspond exactement tous les bouts de code qui sont aprés les & ?

    Ou l'on récupère ces informations, grace a quelque chose deja installer sur la machine ?

    comment le script fait il pour interpréter ces informations ? Je comprend comment il fait pour récupérer toutes ces infos merci de m'éclairer.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bon apparement faudrait que je rajoute la gestion des alertes ou une chose dans ce genre c'est un peu juste comme script.... Ce que je voudrais c'est qu'a partir d'une certaine charge de l'espace disque, un mail d'alerte est envoyé a un administrateur !

    Est ce possible ?

    Merci !

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Oui, c'est possible!

    La seule limite de la programmation est la limite du programmeur.

    Alors, mets t'y. Apprends, étudie, essaye, trompe-toi, recommence et tu y arriveras.

    Si on te donne du code, dis-toi que c'est une grande richesse et essaye de le comprendre.
    Du code recopié sans le comprendre ne t'apportera rien.

    J'espère que depuis le temps, tu es allé voir à quoi correspondait l'opérateur & et la fonction Mid...

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    oui je comprend mon code, même si je cerne pas le tout à 100% ...

    Je n'ai par contre aucune idée pour créer des alertes et je ne sais pas par où commencer... bref c'est la panique, et c'est dans ce sens que je sollicite votre aide.

    Merci !

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2011, 21h20
  2. Espace disque pour Postgres
    Par samyl dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/09/2008, 17h07
  3. Espace disque alloué pour les entiers
    Par stos dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/10/2006, 14h17
  4. Espace disque dur pour installer Linux
    Par frizou11 dans le forum Matériel
    Réponses: 5
    Dernier message: 20/09/2006, 18h32
  5. VBScript pour obtenir l'espace disque libre
    Par Archangelo dans le forum ASP
    Réponses: 2
    Dernier message: 05/05/2004, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo