Set-Service

Démarre, arrête et interrompt un service, puis modifie ses propriétés.

Syntax

Set-Service
   [-Name] <String>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-Status <String>]
   [-SecurityDescriptorSddl <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Service
   [-InputObject] <ServiceController>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-SecurityDescriptorSddl <String>]
   [-Status <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cette applet de commande est disponible uniquement sur la plateforme Windows.

L’applet Set-Service de commande modifie les propriétés d’un service, telles que Status, Description, DisplayName et StartupType. Set-Service peut démarrer, arrêter, suspendre ou suspendre un service. Pour identifier un service, entrez son nom de service ou envoyez un objet de service. Ou, envoyez un nom de service ou un objet de service vers le pipeline Set-Service.

Exemples

Exemple 1 : Modifier un nom complet

Dans cet exemple, le nom d’affichage d’un service est modifié. Pour afficher le nom d’affichage d’origine, utilisez Get-Service.

Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"

Set-Service utilise le paramètre Name pour spécifier le nom du service, LanmanWorkstation. Le paramètre DisplayName spécifie le nouveau nom complet, Station de travail LanMan.

Exemple 2 : Modifier le type de démarrage des services

Cet exemple montre comment modifier le type de démarrage d’un service.

Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status

Name  StartType   Status
----  ---------   ------
BITS  Automatic  Running

Set-Service utilise le paramètre Name pour spécifier le nom du service, BITS. Le paramètre StartupType définit le service sur Automatique.

Get-Serviceutilise le paramètre Name pour spécifier le service BITS et envoie l’objet vers le bas du pipeline. Select-Object utilise le paramètre Property pour afficher l’état du service BITS .

Exemple 3 : Modifier la description d’un service

Cet exemple montre comment modifier la description du service BITS et afficher le résultat.

L’applet Get-CimInstance de commande est utilisée, car elle retourne un objet Win32_Service qui inclut la description du service.

Get-CimInstance Win32_Service -Filter 'Name = "BITS"'  | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
              disabled, then any applications that depend on BITS, such as Windows Update or MSN
              Explorer, will be unable to automatically download programs and other information.

Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth.

Get-CimInstance envoie l’objet vers le bas du pipeline et Format-List affiche le nom et la description du service. À des fins de comparaison, la commande est exécutée avant et après la mise à jour de la description.

Set-Service utilise le paramètre Name pour spécifier le service BITS . Le paramètre Description spécifie le texte mis à jour pour la description des services.

Exemple 4 : Démarrer un service

Dans cet exemple, un service est démarré.

Set-Service -Name WinRM -Status Running -PassThru

Status   Name               DisplayName
------   ----               -----------
Running  WinRM              Windows Remote Management (WS-Manag...

Set-Service utilise le paramètre Name pour spécifier le service, WinRM. Le paramètre Status utilise la valeur En cours d’exécution pour démarrer le service. Le paramètre PassThru génère un objet ServiceController qui affiche les résultats.

Exemple 5 : Suspendre un service

Cet exemple utilise le pipeline pour suspendre le service.

Get-Service -Name Schedule | Set-Service -Status Paused

Get-Serviceutilise le paramètre Name pour spécifier le service Schedule et envoie l’objet vers le bas du pipeline. Set-Serviceutilise le paramètre Status pour définir le service sur Pause.

Exemple 6 : Arrêter un service

Cet exemple utilise une variable pour arrêter un service.

$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped

Get-Service utilise le paramètre Name pour spécifier le service, Schedule. L’objet est stocké dans la variable. $S Set-Service utilise le paramètre InputObject et spécifie l’objet stocké $S. Le paramètre Status définit le service sur Arrêté.

Exemple 7 : Arrêter un service sur un système distant

Cet exemple montre comment arrêter un service sur un ordinateur distant. Pour plus d’informations, consultez Invoke-Command.

$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
  Set-Service -InputObject $S -Status Stopped
}

Get-Credential demande un nom d’utilisateur et un mot de passe, puis stocke les informations d’identification dans la $Cred variable. Get-Service utilise le paramètre Name pour spécifier le service Schedule . L’objet est stocké dans la variable. $S

Invoke-Command utilise le paramètre ComputerName pour spécifier un ordinateur distant. Le paramètre Credential utilise la $Cred variable pour se connecter à l’ordinateur. Le ScriptBlock appelle Set-Service. Le paramètre InputObject spécifie l’objet de service stocké $S. Le paramètre Status définit le service sur Arrêté.

Exemple 8 : Modifier les informations d’identification d’un service

Cet exemple montre comment modifier les informations d’identification utilisées pour gérer un service.

$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential

Get-Credential demande un nom d’utilisateur et un mot de passe, puis stocke les informations d’identification dans la $credential variable. Set-Service utilise le paramètre Name pour spécifier le service Schedule . Le paramètre Credential utilise la $credential variable et met à jour le service Schedule .

Exemple 9 : Modifier le SecurityDescriptor d’un service

Cet exemple montre comment modifier securityDescriptor d’un service.

$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL

SecurityDescriptor est stocké dans la $SDDL variable. Set-Service utilise le paramètre Name pour spécifier le service BITS . Le paramètre SecurityDescriptorSddl utilise $SDDL pour modifier securityDescriptor pour le service BITS.

Exemple 10 : Définir le type de démarrage pour plusieurs services

L’applet Set-Service de commande accepte un seul nom de service à la fois. Toutefois, vous pouvez diriger plusieurs services pour Set-Service modifier la configuration de plusieurs services.

Get-Service SQLWriter,spooler |
    Set-Service -StartupType Automatic -PassThru |
    Select-Object Name, StartType

Name      StartType
----      ---------
spooler   Automatic
SQLWriter Automatic

Paramètres

-Confirm

Vous invite à confirmer avant d’exécuter Set-Service.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Spécifie le compte utilisé par le service comme compte d’ouverture de session de service.

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential, tel qu’un objet généré par l’applet Get-Credential de commande. Si vous tapez un nom d’utilisateur, cette applet de commande vous invite à entrer un mot de passe.

Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.

Remarque

Pour plus d’informations sur la protection des données SecureString , consultez Comment secure is SecureString ?.

Ce paramètre a été introduit dans PowerShell 6.0.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Spécifie une nouvelle description pour le service.

La description du service s’affiche dans Gestion des ordinateurs, Services. La description n’est pas une propriété de l’objet Get-ServiceServiceController . Pour afficher la description du service, utilisez Get-CimInstance cette propriété qui renvoie un objet Win32_Service qui représente le service.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Spécifie le nouveau nom d'affichage du service.

Remarque

En règle générale, Set-Service fonctionne uniquement sur les services Windows et non sur les pilotes. Toutefois, si vous spécifiez le nom d’un pilote, Set-Service vous pouvez cibler le pilote.

Type:String
Aliases:DN
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Spécifie le mode d’arrêt du service. Ce paramètre fonctionne uniquement lorsqu’il -Status Stopped est utilisé. Si cette option est activée, Set-Service arrête les services dépendants avant l’arrêt du service cible. Par défaut, les exceptions sont déclenchées lorsque d’autres services en cours d’exécution dépendent du service cible.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Spécifie un objet ServiceController qui représente le service à modifier. Entrez une variable qui contient l’objet, ou tapez une commande ou une expression qui obtient l’objet, par exemple une Get-Service commande. Vous pouvez utiliser le pipeline pour envoyer un objet de service à Set-Service.

Type:ServiceController
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Spécifie le nom du service à modifier. Les caractères génériques carte ne sont pas autorisés. Vous pouvez utiliser le pipeline pour envoyer un nom de service à Set-Service.

Remarque

En règle générale, Set-Service fonctionne uniquement sur les services Windows et non sur les pilotes. Toutefois, si vous spécifiez le nom d’un pilote, Set-Service vous pouvez cibler le pilote.

Type:String
Aliases:ServiceName, SN
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Renvoie un objet ServiceController qui représente les services qui ont été modifiés. Par défaut, Set-Service ne génère aucune sortie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityDescriptorSddl

Spécifie le SecurityDescriptor pour le service au format Sddl. Le compte appelant Set-Service avec ce paramètre doit disposer des autorisations WRITE_DAC et WRITE_OWNER. Pour plus d’informations, consultez Sécurité des services et droits d’accès.

Type:String
Aliases:sd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartupType

Spécifie le mode de démarrage du service.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Automatique : le service est démarré ou a été démarré par le système d’exploitation, au démarrage du système. Lorsqu'un service automatiquement démarré dépend d'un service manuellement démarré, le service manuellement démarré est également automatiquement démarré au démarrage du système.
  • AutomaticDelayedStart : démarre peu après le démarrage du système.
  • Désactivé : le service est désactivé et ne peut pas être démarré par un utilisateur ou une application.
  • InvalidValue : n’a aucun effet. L’applet de commande ne retourne pas d’erreur, mais le StartupType du service n’est pas modifié.
  • Manuel : le service est démarré manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle de service ou d’une application.
Type:Microsoft.PowerShell.Commands.ServiceStartupType
Aliases:StartMode, SM, ST, StartType
Accepted values:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Status

Spécifie l’état du service.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • En pause. suspend le service.
  • Exécution en cours. démarre le service.
  • Arrêté. arrête le service.
Type:String
Accepted values:Paused, Running, Stopped
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Affiche ce qui se passe si Set-Service des exécutions sont exécutées. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

ServiceController

Vous pouvez diriger un objet de service vers cette applet de commande.

String

Vous pouvez diriger une chaîne qui contient un nom de service vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

ServiceController

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet ServiceController .

Notes

Cette applet de commande est disponible uniquement sur les plateformes Windows.

Set-Service nécessite des autorisations élevées. Utilisez l’option Exécuter en tant qu’administrateur.

Set-Service peut uniquement contrôler les services lorsque l’utilisateur actuel dispose des autorisations nécessaires pour gérer les services. Si une commande ne fonctionne pas correctement, vous n’avez peut-être pas les autorisations requises.

Pour rechercher le nom du service ou le nom d’affichage d’un service, utilisez Get-Service. Les noms de service se trouvent dans la colonne Name et les noms d’affichage se trouvent dans la colonne DisplayName .