New-Service
Crée un service Windows.
Syntaxe
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cette applet de commande est disponible uniquement sur la plateforme Windows.
L’applet New-Service
de commande crée une entrée pour un service Windows dans le Registre et dans la base de données de service. Un nouveau service nécessite un fichier exécutable qui s’exécute pendant le service.
Les paramètres de cette applet de commande vous permettent de définir le nom d'affichage, la description, le type de démarrage et les dépendances du service.
Exemples
Exemple 1 : Créer un service
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Cette commande crée un service nommé TestService.
Exemple 2 : Créer un service qui inclut la description, le type de démarrage et le nom complet
$params = @{
Name = "TestService"
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
Cette commande crée un service nommé TestService. Il utilise les paramètres permettant de New-Service
spécifier une description, un type de démarrage et un nom d’affichage pour le nouveau service.
Exemple 3 : Afficher le nouveau service
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Cette commande utilise Get-CimInstance
pour obtenir l’objet Win32_Service pour le nouveau service. Cet objet inclut le mode de démarrage et la description du service.
Exemple 4 : Définissez le SecurityDescriptor d’un service lors de la création.
Cet exemple ajoute le SecurityDescriptor du service en cours de création.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
SecurityDescriptor est stocké dans la $SDDLToSet
variable. Le paramètre SecurityDescriptorSddl utilise $SDDL
pour définir le SecurityDescriptor du nouveau service.
Paramètres
-BinaryPathName
Spécifie le chemin d’accès du fichier exécutable pour le service. Ce paramètre est obligatoire.
Chemin complet du fichier binaire de service. Si le chemin d’accès contient un espace, il doit être entre guillemets afin qu’il soit interprété correctement. Par exemple, d:\my share\myservice.exe
doit être spécifié en tant que '"d:\my share\myservice.exe"'
.
Le chemin d’accès peut également inclure des arguments pour un service de démarrage automatique. Par exemple : '"d:\my share\myservice.exe" arg1 arg2'
. Ces arguments sont passés au point d’entrée de service.
Pour plus d’informations, consultez le paramètre lpBinaryPathName de l’API CreateServiceW .
Type: | String |
Alias: | Path |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
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 ?.
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 |
-DependsOn
Spécifie le nom des autres services dont dépend le nouveau service. Lorsque vous entrez plusieurs noms de services, ajoutez une virgule entre chaque nom.
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 |
-Description
Spécifie une description du 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 nom d'affichage du 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 |
-Name
Spécifie le nom du service. Ce paramètre est obligatoire.
Type: | String |
Alias: | ServiceName |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
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
Définit le type de démarrage du service. Les valeurs valides pour ce paramètre sont :
- 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 : cette valeur n’est pas prise en charge. L’utilisation de cette valeur entraîne une erreur.
- Manuel : le service est démarré manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle de service ou d’une application.
La valeur par défaut est Automatique.
Type: | ServiceStartupType |
Valeurs acceptées: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Valeur par défaut: | Automatic |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. 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
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
Cette applet de commande retourne un objet représentant le nouveau service.
Notes
Cette applet de commande est disponible uniquement sur les plateformes Windows.
Pour exécuter cette applet de commande, démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur .