Set-Service
Démarre, arrête et interrompt un service, puis 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 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-Service
utilise 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-Service
utilise le paramètre Name pour spécifier le service Schedule et envoie l’objet vers le bas du pipeline. Set-Service
utilise 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 |
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 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 |
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-Service
ServiceController . 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 |
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 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 |
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 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 |
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, par exemple une Get-Service
commande. 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
.
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 |
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. 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 |
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. 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: | 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 :
- En pause. suspend le service.
- Exécution en cours. 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
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 |
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
Vous pouvez diriger un objet de service vers cette applet de commande.
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.
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 .