Accéder au contenu principal

Send email alert if Reboot or shutdown a Server with Powershell

Présentation


This script allows to send a status mail when a server restarts or stops. All actions are logged to C:\Logs.

Github Link : 

Exécution command line for reboot status : 
  • powershell.exe -executionpolicy ByPass -file .\ScriptName.ps1 -Option Reboot
Exécution command line for shutdown status : 
  • powershell.exe -executionpolicy ByPass -file .\ScriptName.ps1 -Option Shutdown

#Script Parameters
Param(
[Parameter(Mandatory=$true)]
[ValidateSet("Reboot", "Shutdown")]
[String[]]
$Option
)

#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"
    $Server = (Get-CimInstance -ClassName Win32_ComputerSystem).Name
    $Date = Get-Date
    $LogPath = "C:\Logs\StateServer.log"

# Define the email address to send notifications to
    $to = "YourEmailAdress"
    $to2 = "OtherEmailAdress"

If ($Option -eq "Reboot")
{
#Send the notification
    Write-Output "$($Date) Send alert email to $($to) and $($to2) : The server $Server has rebooted." | Tee-Object -FilePath $LogPath -Append
Send-MailMessage -To $($to;$to2) -From "SenderEmailAdress" -SmtpServer SmtpAdress -Subject "$Client - $Server - Server Reboot" -Body "The server $Server has rebooted."
}

If  ($Option -eq "Shutdown")
{
#Send the notification
    Write-Output "$($Date) Send alert email to $($to) and $($to2) : The server $Server has been shutdown." | Tee-Object -FilePath $LogPath -Append
Send-MailMessage -To $($to;$to2) -From "SenderEmailAdress" -SmtpServer SmtpAdress -Subject "$Client - $Server - Server Shutdown" -Body "The server $Server has been shutdown."
}


Configuration

To facilitate the deployment, it is preferable to create a GPO in the following way :
  • Open Group Policy Strategy MMC
  • Select Create New GPO
  • Go to Computer Configuration \ Strategy \ Windows Parameters \ Script (Restart / Shutdown)
  • In the Scripts Powershell Tab, add your script with this paramters : 
    • "-Option Reboot"


  • Repeat all actions for Shutdown script and replace the paramters with "-Option Shutdown"

Result

When the server restarts, an alert email will be sent to you :



For Shutdown alert


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.