53 lines
2.0 KiB
PowerShell
53 lines
2.0 KiB
PowerShell
|
# TITRE relance_services.ps1
|
||
|
# DESCRIPTION : Script pour relancer des services automatiquement
|
||
|
# USAGE :
|
||
|
# HISTORIQUE :
|
||
|
# T | Date | Auteur | Description
|
||
|
#---+------------+----------------------+------------------------------------
|
||
|
# A | 07/02/23 | GUICHETEAU Thomas | Création
|
||
|
# B | 23/02/23 | GUICHETEAU Thomas | Ajout commande création du dossier pour les logs
|
||
|
# ---------------------------------------------------------------------------
|
||
|
|
||
|
# LISTE DES SERVICES
|
||
|
$services = @('MSSQL$SQLEXPRESS',"SQLBrowser")
|
||
|
|
||
|
# CREATION DU DOSSIER POUR ACCUEILLIR LE FICHIER DE LOG
|
||
|
New-Item -Path 'C:\Temp\log' -ItemType Directory
|
||
|
|
||
|
# DEBUT BOUCLE FOR
|
||
|
# POUR CHAQUE SERVICE, CHECK DE SON STATUT. SI KO, RELANCE. SINON, RIEN N'EST FAIT
|
||
|
For($i=0;$i -lt $services.Length;$i++)
|
||
|
{
|
||
|
# RECUPERATION DU NOM DU SERVICE
|
||
|
$ServiceName = "$($services[$i])"
|
||
|
$getService = Get-Service -Name $ServiceName
|
||
|
|
||
|
# DEBUT BOUCLE WHILE
|
||
|
# LANCEMENT SI SERVICE KO
|
||
|
while ($getService.Status -ne 'Running')
|
||
|
{
|
||
|
Write-Host "`nService $ServiceName" $getService.Status
|
||
|
# LOGGING
|
||
|
Add-Content C:\Temp\log\relance_service.log "$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") : START - Service $ServiceName ..."
|
||
|
Write-Host "Service $ServiceName starting"
|
||
|
# DEMARRAGE DU SERVICE
|
||
|
Start-Service $ServiceName
|
||
|
Write-Host "`nWait 60s`n"
|
||
|
# PAUSE 60 SEC
|
||
|
Start-Sleep -seconds 60
|
||
|
$getService.Refresh()
|
||
|
# DEBUT CONDITION
|
||
|
# VERIFICATION SI SERVICE DE NOUVEAU OK
|
||
|
# SI NON, REPRISE DE LA BOUCLE WHILE
|
||
|
if ($getService.Status -eq 'Running')
|
||
|
{
|
||
|
# LOGGING
|
||
|
Add-Content C:\Temp\log\relance_service.log "$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") : OK - Service $ServiceName"
|
||
|
Write-Host "Service $ServiceName is now Running"
|
||
|
}
|
||
|
# FIN CONDITION
|
||
|
}
|
||
|
# FIN BOUCLE WHILE
|
||
|
}
|
||
|
# FIN BOUCLE FOR
|
||
|
# FIN DU SCRIPT
|