Il existe huit applets de commande Service principales, conçues pour une large gamme de tâches liées aux services. Nous ne nous intéresserons qu'au listage et à la modification de l'état d'exécution des services, mais vous pouvez obtenir la liste des applets de commande Service en utilisant Get-Help *-Service et rechercher des informations sur chacune d'elles en tapant Get-Help <Nom de l'applet de commande>, par exemple Get-Help New-Service.
Obtention de services
Vous pouvez obtenir les services disponibles sur un ordinateur local ou distant en utilisant l'applet de commande Get-Service. Comme avec Get-Process, l'utilisation de la commande Get-Service sans paramètres retourne tous les services. Vous pouvez filtrer par nom, même en utilisant un astérisque en tant que caractère générique :
PS> Get-Service -Name se* Status Name DisplayName ------ ---- ----------- Running seclogon Secondary Logon Running SENS System Event Notification Stopped ServiceLayer ServiceLayer
Étant donné que le véritable nom des services n'est pas toujours évident, vous pouvez être amené à rechercher des services par leur nom d'affichage. Pour ce faire, vous pouvez utiliser le nom spécifique, des caractères génériques ou une liste de noms d'affichage :
PS> Get-Service -DisplayName se* Status Name DisplayName ------ ---- ----------- Running lanmanserver Server Running SamSs Security Accounts Manager Running seclogon Secondary Logon Stopped ServiceLayer ServiceLayer Running wscsvc Security Center PS> Get-Service -DisplayName ServiceLayer,Server Status Name DisplayName ------ ---- ----------- Running lanmanserver Server Stopped ServiceLayer ServiceLayer
Vous pouvez utiliser le paramètre ComputerName de l'applet de commande Get-Service pour obtenir les services s'exécutant sur des ordinateurs distants. Le paramètre ComputerName acceptant plusieurs valeurs et caractères génériques, vous pouvez obtenir les services sur plusieurs ordinateurs avec une seule commande. Par exemple, la commande suivante obtient les services sur l'ordinateur distant Server01.
Get-Service -ComputerName Server01
Obtention de services obligatoires et dépendants
L'applet de commande Get-Service a deux paramètres qui sont très utiles pour l'administration des services. Le paramètre DependentServices obtient les services qui dépendent du service. Le paramètre RequiredServices obtient les services dont ce service dépend.
Ces paramètres affichent uniquement les valeurs des propriétés DependentServices et ServicesDependedOn (alias=RequiredServices) de l'objet System.ServiceProcess.ServiceController retourné par Get-Service, mais ils simplifient les commandes et facilitent grandement l'obtention de ces informations.
La commande suivante obtient les services requis par le service LanmanWorkstation.
PS> Get-Service -Name LanmanWorkstation -RequiredServices Status Name DisplayName ------ ---- ----------- Running MRxSmb20 SMB 2.0 MiniRedirector Running bowser Bowser Running MRxSmb10 SMB 1.x MiniRedirector Running NSI Network Store Interface Service
La commande suivante obtient les services requiérant le service LanmanWorkstation.
PS> Get-Service -Name LanmanWorkstation -DependentServices Status Name DisplayName ------ ---- ----------- Running SessionEnv Terminal Services Configuration Running Netlogon Netlogon Stopped Browser Computer Browser Running BITS Background Intelligent Transfer Ser...
Vous pouvez même obtenir tous les services qui ont des dépendances. La commande suivante fait uniquement cela, puis utilise l'applet de commande Format-Table pour afficher les propriétés Status, Name, RequiredServices et DependentServices des services sur l'ordinateur.
Get-Service -Name * | where {$_.RequiredServices -or $_.DependentServices} | Format-Table -Property Status, Name, RequiredServices, DependentServices -auto
Arrêt, démarrage, interruption et redémarrage de services
Les applets de commande Service ont toutes la même forme générale. Les services peuvent être spécifiés par leur nom commun ou leur nom d'affichage et utilisent des listes et des caractères génériques comme valeurs. Pour arrêter le spouleur d'impression, utilisez :
Stop-Service -Name spooler
Pour démarrer le spouleur d'impression après qu'il a été arrêté, utilisez :
Start-Service -Name spooler
Pour interrompre (suspendre) le spouleur d'impression, utilisez :
Suspend-Service -Name spooler
L'applet de commande Restart-Service fonctionne de la même manière que les autres applets de commande Service, mais nous proposerons pour celle-ci quelques exemples plus complexes. Dans son utilisation la plus simple, vous spécifiez le nom du service :
PS> Restart-Service -Name spooler WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting... WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting... PS>
Notez l'affichage répété du message d'avertissement relatif au démarrage du spouleur d'impression. Lorsque vous exécutez une opération de service qui prend du temps, Windows PowerShell vous informe qu'il essaie toujours d'effectuer la tâche.
Si vous souhaitez redémarrer plusieurs services, vous pouvez obtenir une liste de services, les filtrer, puis exécuter le redémarrage :
PS> Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping... WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping... Restart-Service : Cannot stop service 'Logical Disk Manager (dmserver)' because it has dependent services. It can only be stopped if the Force flag is set. At line:1 char:57 + Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service <<<< WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting... WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
Ces applets de commande Service n'ont pas de paramètre ComputerName, mais vous pouvez les exécuter sur un ordinateur distant à l'aide de l'applet de commande Invoke-Command. Par exemple, la commande suivante redémarre le service Spooler sur l'ordinateur distant Server01.
Invoke-Command -ComputerName Server01 {Restart-Service Spooler}
Définition des propriétés de service
L'applet de commande Set-Service modifie les propriétés d'un service sur un ordinateur local ou distant. Étant donné que l'état du service est une propriété, vous pouvez utiliser cette applet de commande pour démarrer, arrêter et suspendre un service. L'applet de commande Set-Service dispose également d'un paramètre StartupType qui vous permet de modifier le type de démarrage du service.
Pour utiliser Set-Service sous Windows Vista et les versions ultérieures de Windows, ouvrez Windows PowerShell avec l'option « Exécuter en tant qu'administrateur ».
Pour plus d'informations, consultez Set-Service.
Voir aussi