Accéder au contenu principal

Monitor a server hard drives with Powershell

Monitor a server hard drives with Powershell

Script 

This script is used to monitor the disk space of a server and to send an alert email when the remaining disk space reaches the limit set by the administrator.

Github Linkhttps://github.com/ChrisMogis/MonitoringFreeHardDriveSpace/blob/main/FreeSpaceHardDrive.ps1

#Function create Log folder
    Function CreateLogsFolder
{
    If(!(Test-Path C:\Logs))
    {
    New-Item -Force -Path "C:\Logs\" -ItemType Directory
}
else
{
    Write-Host "The folder "C:\Logs\" already exists !"
    }
}

#Create Log Folder
    CreateLogsFolder

#Declaration of script variables
$Client = "Client Name"
$ListDisk = Get-CimInstance -Class Win32_LogicalDisk | where {$_.DriveType -eq "3"}
$Server = (Get-CimInstance -ClassName Win32_ComputerSystem).Name
$SetMinSizeLimit = 50GB;
$LogPath = "C:\Logs\CheckHardDriveFreeSpace.log"
$Date = Get-Date

#Scan Free Hard Drive Space 
Foreach($Disk in $ListDisk)
    {
  $DiskFreeSpace = ($Disk.freespace/1GB).ToString('F2')
  Write-Output "$($Date)  L'espace disque restant sur $($Server), $($Disk.DeviceID) est de $DiskFreeSpace Go" | Tee-Object -FilePath $LogPath -Append
    }

#Send email if
If ($disk.FreeSpace -lt $SetMinSizeLimit)
    {
    Write-Output "$($Date) Sending Alert email..." | Tee-Object -FilePath $LogPath -Append
   
    $smtpServer = "SMTP_Server"
    $msg = new-object Net.Mail.MailMessage
    $smtp = new-object Net.Mail.SmtpClient($smtpServer
    $msg.From = "noreply@domainname.extension"
    $msg.To.Add("username@domainname.extension")
    #$msg.CC.Add("username@domainname.extension")
    $msg.Attachments.Add("$LogPath")
    $msg.subject = "$($Client)  :  Server disk space problem on $($Server)"
    $msg.body = "$($date) : The remaining disk space on disk $($Disk.DeviceID) of the server $($Server) is $($DiskFreeSpace) Go"
    $smtp.send($msg)
    }

#If the free space disk is OK
else

    {
        Write-Host "Free disk Space OK" | Tee-Object -FilePath $LogPath -Append
    }

Result

Example of the alert email sent




Commentaires

Posts les plus consultés de ce blog

Ping your infrastructure and send a desktop alert with Powershell

Presentation This script runs and loads the contents of a file to recover a list of devices to ping. If the device does not respond, an alert is issued on the desktop. In addition, a log file containing the list of available perimeters is created in the C:Logs directory. Github link :   Script Script exécution powershell.exe -executionpolicy ByPass -file C:\Temp\PingInfra.ps1 Result For each computer that is not available, you received a desktop alert A log file is created to the repository C:\Logs folder

SCCM - Erreur 0x87D00664 lors de l'installation de la mise à jour de Juin 2020

Lors de l'installation de la KB4561616 sur des systèmes serveurs via SCCM, vous pouvez vous heurter à l'erreur  0x87D00664 . Celle-ci correspond au délai fixé pour l'installation de la mise à jour qui est dépassé sur des machines à faibles performances : Pour corriger le problème, il suffit simplement d'aller dans : Allez dans "Software Library" Puis "Software Updates" Chercher la mise à jour concernée Clic droit , puis "Propriétés" de la mise à jour Changer la valeur "Maximum run time" Validez en appuyant sur "Apply"  Relancez ensuite l'installation de la mise à jour.

Edge Chromium - Les ADMX sont disponibles

Microsoft a récemment publié les fichiers ADMX pour faciliter la gestion de son navigateur Edge basé sur Chromium. Pour les récupérer, il suffit de se rendre sur la page suivante : https://www.microsoft.com/en-us/edge/business/download Ensuite, il suffit de sélectionner la version du navigateur publié, l'architecture système et cliquer sur  "GET POLICY FILES" Il suffira ensuite d'extraire le contenu du fichier .CAB et de placer les fichiers dans le dossier SYSVOL de votre site Active Directory.