script d'avertissement auto pour disque plein episode 2 - Disque dur - Hardware
Marsh Posté le 27-02-2020 à 11:40:03
J’ai découvert il ya peut le power shell. Tu devrais essayer c’est franchement plus puissant que le vbscript
Cela dit pas sûr que ton topic soit sur le bon forum. La partie programmation sera plus indiquée je pense
Marsh Posté le 27-02-2020 à 12:16:36
ok merci c'est sympa de ta part je vais déjà change de topic et power shell j’imagine bien mais honnêtement je ne m'y connait pas plus que ça !!
Marsh Posté le 27-02-2020 à 12:19:35
lenul 0001 a écrit : ok merci c'est sympa de ta part je vais déjà change de topic et power shell j’imagine bien mais honnêtement je ne m'y connait pas plus que ça !! |
je connaissait pas du tout non plus, en 1 semaine j'ai réussi a faire ce que je voulais et re-appliqué ce que j'ai appris a plusieurs autre projets.
et avec google, on trouve très facilement des examples qui font déjà une bonne part du boulot.
par exemple :
https://devblogs.microsoft.com/scri [...] isk-space/
https://www.petri.com/checking-syst [...] powershell
Marsh Posté le 27-02-2020 à 14:09:37
Si on parle du powershell c'est qu'on est sous windows, tu n'as pas essayé avec la gestion des quotas de disques ?
Il me semble que c'est possible de le faire avec des utilisateurs mais peut-être que ça fonctionne aussi en général.
Marsh Posté le 27-02-2020 à 15:08:11
artouillassse a écrit : Si on parle du powershell c'est qu'on est sous windows, tu n'as pas essayé avec la gestion des quotas de disques ? |
en faite j'ai 28 serveurs a surveiller leurs espaces disques et qui sont chacun associés à des utilisateurs dédiés , et donc chacun a son batch comme décris si dessous et qui finalement
fonctionne très bien mais je cherche juste une combine pour modifié l'existant sans trop me prendre la tete en vérité :-) hihihi
Marsh Posté le 27-02-2020 à 16:29:49
Oulà ouais en effet, je pensais que c'était un truc un peu plus "home made" à l'arrache
Du coup comme l'a déjà dit le compère du dessus, faudrait que tu ailles en section programmation, voir serveur pros.
Là bas à mon avis ils bouffent des scripts au petit dèj tu devrais avoir plus de réponses qu'en hardware.
https://forum.hardware.fr/hfr/syste [...] ujet-1.htm
Marsh Posté le 27-02-2020 à 21:18:43
faut voir le budget aussi, mais il y a des soft qui font du monitoring au petit ognion
Marsh Posté le 27-02-2020 à 10:45:57
bonjour,
SOS j'utilise ce script si dessous pour surveiller l'espace disk mais il me reste un problème
c'est a dire si j'ai un serveur qui a un disk A, B et C et pour X raison sur un des disk,il est offline ou déconnecté, il ne me le signale pas!
avez vous une idée comment je pourrais absolument contrôler ces 3 disks sur mon serveur et que si il y en a un qui est absent ou autre ,le script se plante.
pourriez vous m'aider s'il vous plait ?
d'avance MERCI
le null (fabrice)
On Error Resume Next
'================================================================================================
'Constantes pour le réglage des alarmes surveillance disk
Const LimiteLecteurSysteme = 0.05 'décimales >> Le seuil d'alerte pour le disque systéme 0.05 = 5%
Const LimiteLecteurAutre = 0.04 'décimales >> Le seuil d'alerte pour les autres disques physiques (pas les netuse par exemple) 0.05 =5%
Const UnitDeSortie = "\\FRSP0204\production\Cmd-sys\travail\" '>> Unité de sortie avec path
Const UnitDeSortie1 = "\\FRSP0204\production\Cmd-exp\travail\" '>> Unité de sortie avec path pour CTRL
Const FichierDeSortie = "DiskInfo.txt" '>> Le fichier de log
Const FichierDeSortie1 = "Liste-Ctrl.txt" '>> Le fichier pour le CTRL
Const NomDeMachine = "FRSB0002" 'Mettre un . pour la machine locale
Const SurveilleDisk = 1 '>> Activer/Désactiver la surveillance des disques (1 ou 0)
Const Taux = 100
'================================================================================================
'Déclarations
Const ForAppending = 8
Const cdoSendUsingPort = 2
Const ForReading = 1
Const ForWriting = 2
Dim fso, f1, OutputLine
Dim ofso, fic, texte, fe
Set SC = New SpaceChecker
Set SC = Nothing
Citation :
Citation :
Alarme = 0
Class SpaceChecker
Private Sub Class_Initialize()
Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & NomDeMachine & "\root\cimv2" )
Set colSettings = WMIService.ExecQuery ("Select * from Win32_ComputerSystem" )
For Each objComputer in colSettings
SystemName = objComputer.Name
Domain = objComputer.Domain
Next
Set colSettings = Nothing
Set fso = CreateObject("Scripting.FileSystemObject" )
'Set f1 = fso.CreateTextFile(FichierDeSortie, false)
'f1.close
Set f1 = fso.OpenTextFile(UnitDeSortie & SystemName & "_" & FichierDeSortie, ForAppending, true,0)
OutputLine = SystemName
If SurveilleDisk = 1 Then
Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & NomDeMachine & "\root\cimv2" )
Set colDisks = WMIService.ExecQuery("Select * from Win32_LogicalDisk" )
For each Disk in colDisks
If Disk.DriveType = 3 Then
If Lcase(Disk.DeviceID) = "D:" Then
LimiteLecteur = LimiteLecteurSysteme
Else
LimiteLecteur = LimiteLecteurAutre
End If
If (Disk.FreeSpace/Disk.Size) < LimiteLecteur Then
HddStatut="ALERTE - de (" & Taux*LimiteLecteur & "% Seuil d'alerte) "
Else
HddStatut="Normal + de (" & Taux*LimiteLecteur & "% Seuil d'alerte) "
End If
OutputLine = OutputLine & VbCrLf & VbCrLf & HddStatut & "Espace libre sur " & Disk.DeviceID & "/" & (Disk.FreeSpace/1000000) & " Mo Sur un total de " & (Disk.Size/1000000) & " Mo" & VbCrLf
End If
Next
End If
f1.writeline OutputLine
f1.Close
Set colDisks = Nothing
Set WMIService = Nothing
End Sub
End Class
'extrait la 1er ligne du fichier pour le CTRL
Set WshShell = WScript.CreateObject("WScript.Shell" )
Set ofso = CreateObject("Scripting.FileSystemObject" )
Set fic = ofso.OpenTextFile(UnitDeSortie & NomDeMachine & "_" & FichierDeSortie,1)
Set fe = ofso.OpenTextFile(UnitDeSortie1 & FichierDeSortie1,ForAppending,ForWriting,true)
fe.write(fic.ReadLine & vbCrLf)
fe.Close
---------------
Merci
---------------
Merci