Partager via


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. Vous pouvez également envoyer un nom de service ou un objet de service vers le bas du pipeline à Set-Service.

Exemples

Exemple 1 : Modifier un nom d’affichage

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 d’affichage , LanMan Workstation.

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-Service utilise le paramètre Name pour spécifier le service BITS et envoie l’objet dans le pipeline. Select-Objectutilise le paramètre Property pour afficher les status 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 dans le 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-Service utilise le paramètre Name pour spécifier le service Schedule et envoie l’objet dans le pipeline. Set-Service utilise le paramètre Status pour définir le service sur Suspendu.

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, et 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. 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, et 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 modifie le SecurityDescriptor d’un service.

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

Le 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 le SecurityDescriptor pour le service BITS .

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

L’applet Set-Service de commande n’accepte qu’un seul nom de service à la fois. Toutefois, vous pouvez diriger plusieurs services vers Set-Service pour 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 en tant que 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 de Get-Credential 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.

Notes

Pour plus d’informations sur la protection des données SecureString , consultez Comment SecureString est-il sécurisé ?.

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 de l’ordinateur, Services. La description n’est pas une propriété de l’objet Get-ServiceServiceController . Pour voir la description du service, utilisez Get-CimInstance qui retourne 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.

Notes

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 peut 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 quand -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, des 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, telle qu’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 ne sont pas autorisés. Vous pouvez utiliser le pipeline pour envoyer un nom de service à Set-Service.

Notes

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 peut cibler le pilote.

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

-PassThru

Retourne 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é du service 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. Si un service démarré automatiquement dépend d'un service démarré manuellement, le service démarré manuellement est également démarré automatiquement 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é uniquement manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle des services ou par une application.
Type: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 le status pour le service.

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

  • Suspendu. 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

Montre ce qui se passerait en cas Set-Service d’exécution. 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 ne peut contrôler les services que lorsque l’utilisateur actuel dispose des autorisations nécessaires pour gérer les services. Si une commande ne fonctionne pas correctement, vous ne disposez peut-être pas des autorisations requises.

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