New-Service
Crée un service Windows.
Syntax
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 : Create un service
New-Service -Name "TestService" -BinaryPathName '"C:\WINDOWS\System32\svchost.exe -k netsvcs"'
Cette commande crée un service nommé TestService.
Exemple 2 : Create un service qui comprend la description, le type de démarrage et le nom d’affichage
$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 de New-Service
pour 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 montre comment ajouter 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
Le 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 cité afin qu’il soit correctement interprété. Par exemple, d:\my share\myservice.exe
doit être spécifié comme '"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:\myshare\myservice.exe arg1 arg2"'
. Ces arguments sont passés au point d’entrée du service.
Pour plus d’informations, consultez le paramètre lpBinaryPathName de l’API CreateServiceW .
Type: | String |
Aliases: | Path |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
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é ?.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Spécifie une description du service.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Spécifie le nom d'affichage du service.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Spécifie le nom du service. Ce paramètre est obligatoire.
Type: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Spécifie le SecurityDescriptor pour le service au format Sddl .
Type: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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. 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 : cette valeur n’est pas prise en charge. L’utilisation de cette valeur génère une erreur.
- Manuel : le service est démarré manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle de service ou par une application.
La valeur par défaut est Automatique.
Type: | ServiceStartupType |
Accepted values: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Default value: | Automatic |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
None
Vous ne pouvez pas diriger d'entrée vers cette applet de commande.
Sorties
Cette applet de commande retourne un objet qui représente 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 .