TP Powershell : Liste des services But Accès aux services

Transcription

TP Powershell : Liste des services But Accès aux services
TP Powershell : Liste des services
But
Lister et manipuler les services disponibles sur un système d’exploitation windows.
Accès aux services
Pour un utilisateur courant.
Démarrer / Panneau de configuration / Outils d’administration / Services
Par une commande sous Powershell ou DOS
C:\Windows/system32/services.msc
Caractéristique des services
On a la liste des services (programmes en attente d’une sollicitation le plus souvent interne).
Un service a les caractéristiques suivantes qu’on peut consulter ou modifier (clic sur la ligne
correspondante) :
Nom court
nom complet
description
nom du fichier exécutable
type de démarrage
statut
dépendances
Manipulation des services par programmation sous
Powershell.
 Sur la machine virtuelle ouvrir Powershell en tant qu’administrateur.
Commandes relatives aux services
On se place en ligne de commande Powershell. Les commandes concernant les services sont :
 Get-service
pour obtenir la liste des services
 Start-service
pour démarrer un service
 Stop-service
pour arrêter un service
 Suspend-service
pour interruption momentanée d’un service (sans l’arrêter)
 Resume-service
Arrêter l’interruption d’un service
 New-service
Créer un nouveau service
Pour obtenir des détails faire help « commande »
Obtenir la liste des services actifs
Mettre le résultat de la commande dans une variable
$lser contient la collection des services disponibles.
$lser = get-service.
On va devoir sélectionner les services démarrés.
Taper $lser . La liste des services apparaît avec 3 colonnes : status, name et displayname
Sélectionner les services actifs grâce au pipleline (|)et à la commande where-object :
$lser | where-object {$_.status –eq "Running"}
Présenter le résultat en n’affichant pas la colonne de gauche qui présente ici toujours la même
valeur Running. On utilisera la commande foreach-object et de nouveau le pipeline.
$lser | where-object {$_.status –eq "Running"} | foreachobject {write-host $_.name "_______" $_.displayname}
TP Powershell : Liste des services
Application :
Sélectionner les services arrêtés en adaptant la commande ci dessus.
Exemple d’utilisation
Arrêter le pare feu
$pf = get-service –name MpsSvc
$pf.stop()
$pf = get-service –name MpsSvc
$pf.status
Constater le changement dans la liste des services.
Démarrer le pare feu
$pf = get-service –name MpsSvc
$pf.start()
$pf = get-service –name MpsSvc
$pf.status
Constater le changement dans la liste des services.
Pour aller plus loin
Service dépendant
Essayer d’arrêter le service dhcp (client dhcp). S’il ne s’arrête pas essayer d’arrêter le service
WinHttpAutoProxySvc (service dépendant de dhcp)
Tentative de tout arrêter
Ecrire une procédure nommée arretetout.ps1 qui stoppe tous les services pouvant être
arrêtés.
Indication : tenir compte de la propriété canstop