Partager via


Set-Service

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

Syntaxe

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 de commande modifie les propriétés d’un service, telles que l'd’état , Description, DisplayNameet StartupType. Set-Service pouvez 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 bas du pipeline pour 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 complet 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 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

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

utilise le paramètre Name pour spécifier le service BITS et envoyer l’objet vers le bas du pipeline. 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 de commande Get-CimInstance 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 pour Format-List et 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.

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

utilise le paramètre Name pour spécifier le service Schedule et envoyer l’objet vers le bas du pipeline. 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

utilise le paramètre Name pour spécifier le service, Schedule. L’objet est stocké dans la variable, $S. utilise le paramètre InputObject et spécifie l’objet stocké . 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 invite un nom d’utilisateur et un mot de passe et stocke les informations d’identification dans la variable $Cred. 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 variable $Cred pour se connecter à l’ordinateur. Le ScriptBlock appelle . 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 invite un nom d’utilisateur et un mot de passe et stocke les informations d’identification dans la variable $credential. utilise le paramètre Name pour spécifier le service schedule . Le paramètre Credential utilise la variable et met à jour le service Schedule.

Exemple 9 : Modifier le SecurityDescriptor d’un service

Cet exemple montre comment modifier leSecurityDescriptor 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 variable . utilise le paramètre Name pour spécifier le service BITS . Le paramètre SecurityDescriptorSddl utilise pour modifier le securityDescriptor pour le service BITS .

Paramètres

-Confirm

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

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Spécifie le compte utilisé par le service comme compte d’ouverture de session du 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 commande Get-Credential. 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.

Note

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

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

Type:PSCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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 qui retourne un objet Win32_Service qui représente le service.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisplayName

Spécifie un nouveau nom complet pour le service.

Type:String
Alias:DN
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Force

Spécifie le mode d’arrêt du service. Ce paramètre fonctionne uniquement lorsque -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
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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 commande Get-Service. Vous pouvez utiliser le pipeline pour envoyer un objet de service à Set-Service.

Type:ServiceController
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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.

Type:String
Alias:ServiceName, SN
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SecurityDescriptorSddl

Spécifie le SecurityDescriptor pour le service au format Sddl.

Type:String
Alias:sd
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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é manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle de service ou d’une application.
Type:ServiceStartupType
Alias:StartMode, SM, ST, StartType
Valeurs acceptées:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Status

Spécifie l’état du service.

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

  • suspendu . Suspend le service.
  • En cours d’exécution. Démarre le service.
  • arrêté. Arrête le service.
Type:String
Valeurs acceptées:Paused, Running, Stopped
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passerait si Set-Service s’exécute. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

System.ServiceProcess.ServiceController, System.String

Vous pouvez utiliser le pipeline pour envoyer un objet de service ou une chaîne qui contient un nom de service à Set-Service.

Sorties

ServiceController

Par défaut, Set-Service ne retourne aucun objet. Utilisez le paramètre passThru pour générer 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 que 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.