PowerShell/Système/Service

Aller à la navigation Aller à la recherche

PowerShell et les services.

Redémarrage de certains services arrêtés

<#
Nom         : PSHSRV001
Description : identification de services à redémarrer, d'après une liste de services déterminée
Usage       : exercice en PowerShell
Exemple     : exemple pour l'application MonControle et ses dépendances
Auteur      : fylip22
Version     : 1.0
Révisions   :
    - 1.0 (02/04/2024) : fylip22, création du script
#>

# liste des services à contrôler
$FiltreListe = "MonControleCommService", 
               "MonControleSchedulerService", 
               "SQL Server (MonControle)", 
               "SQL Server (SQLEXPRESS)", 
               "SQL Server Agent (MonControle)", 
               "SQL Server Agent (SQLEXPRESS)", 
               "SQL Server Browser", 
               "SQL Server VSS Writer"

# liste des services qui sont arrêtés mais qui sont de type "démarrage automatique"
Get-Service | 
    Where-Object {$_.DisplayName -in $FiltreListe `
                    -and $_.StartType -eq "Automatic" `
                    -and $_.Status -eq "Stopped" } | 
    Select-Object DisplayName, Name, StartType, status |
    # redémarrage des services identifiés
    Start-Service

Exemple

<#
Description : création d'un fichier HTML de la liste des 10 premiers services, avec actualisation de la page toutes les 3 secondes
Usage       : exercice en PowerShell
Auteur      : fylip22
Version     : 1.0
Révisions   :
	- 1.0 (01/11/2023) : création du script
#>

Set-Location "C:\Support"

$titre  = "titre de la page"
$entete =  "<title>PHP - Services</title>"
$entete += "<meta name=`"author`" content=`"fylip22`" />"
$entete += "<meta http-equiv=`"refresh`" content=`"3`">"
$entete += "<style>table{border-collapse:collapse;}th{background-color:lightgrey;}th,td{padding:.25em;border:1px black solid;}</style>"
$body   = "<h2>Liste des services</h2>"
$precorps = ""
$postcorps = "Edition du {0}" -f (Get-Date -Format "dddd dd/MM/yyyy HH:mm")

# Liste de tous les services dans une fenêtre avec les champs name, starttype, status 
Get-Service | 
    Sort-Object starttype | 
    Select-Object name, starttype, status | 
    Out-GridView

# Liste des 40 premier services dans une fichier HTML
(Get-Service)[0..39] | 
    Sort-Object starttype | 
    ConvertTo-Html -Property name, starttype, status -Title $titre -head $entete -body $body -PostContent $postcorps | 
    Out-File service.htm
Invoke-Item service.htm

Référence

  •  

Voir aussi

  •