Partager via


New-Service

Crée un service Windows.

Syntaxe

Default (Par défaut)

New-Service
    [-Name] <String>
    [-BinaryPathName] <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-StartupType <ServiceStartMode>]
    [-Credential <PSCredential>]
    [-DependsOn <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande New-Service 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 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 : Supprimer un service

sc.exe delete TestService
# - or -
(Get-CimInstance -Class Win32_Service -Filter "name='TestService'").Delete()

Cet exemple montre deux façons de supprimer le service TestService. La première commande utilise l’option de suppression de Sc.exe. La deuxième commande utilise la méthode Delete des objets Win32_Service qui Get-CimInstance retourne.

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é 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:\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 API CreateServiceW.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Credential

Spécifie le compte utilisé par le service en tant que compte de connexion au 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.

Remarque

Pour plus d’informations sur la protection des données de SecureString, consultez Quelle est la sécurité de SecureString ?.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DependsOn

Spécifie les noms des autres services sur lesquels dépend le nouveau service. Pour entrer plusieurs noms de service, utilisez une virgule pour séparer les noms.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Description

Spécifie une description du service.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DisplayName

Spécifie un nom complet pour le service.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

Spécifie le nom du service. Ce paramètre est obligatoire.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Nom du Service

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-StartupType

Définit le type 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.
  • désactivé : le service est désactivé et ne peut pas être démarré par un utilisateur ou une application.
  • manuel : le service est démarré manuellement, par un utilisateur, à l’aide du Gestionnaire de contrôle de service ou d’une application.
  • de démarrage : indique que le service est un pilote de périphérique démarré par le chargeur système. Cette valeur est valide uniquement pour les pilotes de périphérique.
  • système : indique que le service est un pilote de périphérique démarré par la fonction « IOInitSystem() ». Cette valeur est valide uniquement pour les pilotes de périphérique.

La valeur par défaut est automatique.

Propriétés du paramètre

Type:ServiceStartMode
Valeur par défaut:Automatic
Valeurs acceptées:Boot, System, Automatic, Manual, Disabled
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

ServiceController

Cette applet de commande retourne un objet représentant le nouveau service.

Notes

Pour exécuter cette applet de commande, démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur.

Pour supprimer un service, utilisez Sc.exeou utilisez l’applet de commande Get-CimInstance pour obtenir l’objet Win32_Service qui représente le service, puis utilisez la méthode Delete pour supprimer le service. L’objet qui Get-Service renvoie n’a pas de méthode delete.