Comment faire pour créer un service Windows à l'aide de Sc.exe

Traductions disponibles Traductions disponibles
Numéro d'article: 251192 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Pour créer et démarrer à distance un service à partir de la ligne de commande, vous pouvez utiliser l'outil SC (Sc.exe) inclus dans le Kit de ressources.

Bien que vous puissiez utiliser les outils Netsvc.exe et Instsrv.exe pour démarrer un service sur un ordinateur distant, ces outils ne vous permettent pas de créer un service à distance.

Remarque L'outil Srvinstw.exe est la version d'interface graphique utilisateur (GUI) utilisée pour créer des services distants. Srvinstw.exe n'est pas un outil de ligne de commande.

Plus d'informations

Vous pouvez utiliser Sc.exe lors du développement de services pour Windows. Sc.exe, qui est compris dans le Kit de ressources, permet de mettre en ?uvre des appels à toutes les fonctions API de contrôle des services Windows. Vous pouvez définir les paramètres de ces fonctions en les spécifiant sur la ligne de commande. Sc.exe affiche également le statut d'un service et extrait les valeurs stockées dans les champs de structure des statuts. Cet outil vous permet également de spécifier le nom d'un ordinateur distant de façon à pouvoir appeler les fonctions API des services ou afficher les structures des statuts des services sur l'ordinateur distant.

En outre, Sc.exe vous permet d'appeler une fonction API de contrôle des services quelconque et de varier ses paramètres à partir de la ligne de commande. Cela vous offre une méthode pratique pour créer ou configurer les informations sur les services dans le Registre et dans la base de données du Gestionnaire de contrôle des services. Pour configurer le service, il n'est pas nécessaire de créer manuellement des entrées dans le Registre et de redémarrer ensuite l'ordinateur pour forcer le Gestionnaire de contrôle des services à mettre à jour sa base de données.

Sc.exe utilise la syntaxe suivante :

Syntaxe1 (utiliser la Syntaxe1 pour exécuter Sc.exe)
sc [NomServeur] Commande NomService [NomOption= ValeurOption...]
Syntaxe2 (utiliser la Syntaxe2 pour afficher de l'aide sur les commandes, à l'exception de la commande query)
sc [Commande]

Paramètres

  • NomServeur
    Facultatif. Spécifie le nom du serveur lorsque vous souhaitez exécuter les commandes sur un ordinateur distant. Le nom doit commencer par deux barres obliques inverses (par exemple, \\monserveur). Pour exécuter Sc.exe sur l'ordinateur local, ne spécifiez pas ce paramètre.
  • Commande
    Spécifie la commande sc. Notez qu'un grand nombre des commandes sc requièrent des privilèges d'administration sur l'ordinateur spécifié. Sc.exe prend en charge les commandes suivantes :
    Config
    Modifie la configuration d'un service (persistant).

    Continue
    Envoie une requête de contrôle Continue à un service.

    Control
    Envoie un contrôle à un service.

    Create
    Crée un service (l'ajoute au Registre).

    Delete
    Supprime un service (du Registre).

    EnumDepend
    Énumère les dépendances de service.

    GetDisplayName
    Obtient le nom d'affichage d'un service.

    GetKeyName
    Obtient le nom de la clé de service d'un service.

    Interrogate
    Envoie une requête de contrôle Interrogate à un service.

    Pause
    Envoie une requête de contrôle Pause à un service.

    qc
    Interroge la configuration du service. Pour obtenir des informations détaillées, reportez-vous à la section de référence « SC QC ».

    Query
    Interroge le statut d'un service ou énumère le statut des types de services. Pour obtenir des informations détaillées, reportez-vous à la section de référence « SC QUERY ».

    Start
    Démarre un service.

    Stop
    Envoie une requête d'arrêt à un service.
  • NomService
    Spécifie le nom donné à la clé du service dans le Registre. Notez que ce nom est différent du nom d'affichage (qui est le nom affiché avec la commande net start et l'outil Services du Panneau de configuration). Sc.exe utilise le nom de la clé du service comme identificateur principal du service.
  • NomOption
    Les paramètres NomOption et ValeurOption vous permettent de spécifier les noms et les valeurs des paramètres de commande facultatifs. Notez qu'il n'y a aucun espace entre le paramètre NomOption et le signe égal. Vous pouvez spécifier un ou plusieurs paramètres facultatifs avec leur valeur ou n'en spécifier aucun.
  • ValeurOption
    Spécifie la valeur du paramètre nommé par NomOption. La plage de valeurs valides est souvent restreinte pour chaque paramètre NomOption. Pour afficher la liste des valeurs disponibles, consultez l'aide sur chaque commande.
Un grand nombre des commandes requièrent des droits d'administrateur. Assurez-vous que vous êtes un administrateur de l'ordinateur sur lequel le développement est effectué.

La commande sc create crée une entrée pour le service dans le Registre et dans la base de données du Gestionnaire de contrôle des services.

Syntaxe
sc [NomServeur] create NomService [NomOption=ValeurOption...

Paramètres

  • NomServeur
    Facultatif. Spécifie le nom du serveur lorsque vous souhaitez exécuter les commandes sur un ordinateur distant. Le nom doit commencer par deux barres obliques inverses (par exemple, \\monserveur). Pour exécuter SC sur l'ordinateur local, ne spécifiez pas ce paramètre.
  • NomService
    Spécifie le nom donné à la clé du service dans le Registre. Notez que ce nom est différent du nom d'affichage (qui est le nom affiché avec la commande net start et l'outil Services du Panneau de configuration). Sc.exe utilise le nom de la clé du service comme identificateur principal du service.
  • NomOption
    Les paramètres NomOption et ValeurOption vous permettent de spécifier les noms et les valeurs des paramètres facultatifs. Notez qu'il n'y a aucun espace entre le paramètre NomOption et le signe égal. Vous pouvez spécifier un ou plusieurs paramètres facultatifs avec leur valeur ou n'en spécifier aucun. La commande sc query prend en charge les valeurs suivantes :NomOptionValeurOption
    type=own, share, interact, kernel, filesys
    Type de service que vous souhaitez créer. Les valeurs de l'option incluent les types utilisés par les pilotes.
    (valeur par défaut = share)

    start=boot, system, auto, demand, disabled
    Type de démarrage pour le service. Les valeurs de l'option incluent les types utilisés par les pilotes.
    (valeur par défaut = demand)

    error=normal, severe, critical, ignore
    Gravité de l'erreur si le service ne démarre pas pendant le démarrage.
    (valeur par défaut = normal)

    binPath=(chaîne)
    Nom du chemin d'accès au fichier binaire du service. Il n'existe pas de valeur par défaut pour ce paramètre. Cette chaîne doit être spécifiée.

    group=(chaîne)
    Nom du groupe auquel appartient ce service. La liste de groupes est stockée dans le Registre sous ServiceGroupOrder.
    (valeur par défaut = rien)

    tag=(chaîne)
    Si cette chaîne est définie avec la valeur « oui », Sc.exe obtient une étiquette TagId de l'appel CreateService ; toutefois, Sc.exe n'affiche pas l'étiquette.
    (valeur par défaut = rien)

    depend=(chaîne séparée par des espaces)
    Noms des services ou des groupes qui doivent démarrer avant ce service.

    obj=(chaîne)
    Nom du compte dans lequel le service est exécuté. Pour les pilotes, il s'agit du nom de l'objet pilote Windows.
    (valeur par défaut = LocalSystem)

    DisplayName=(chaîne)
    Une chaîne qui peut être utilisée par les programmes d'interface utilisateur pour identifier le service.

    password=(chaîne)
    Une chaîne de mot de passe. Cette valeur est requise si un compte autre que LocalSystem est utilisé.
ValeurOption
Spécifie la valeur du paramètre nommé par NomOption. Reportez-vous à la référence NomOption pour consulter la liste des valeurs prises en charge. Lorsqu'une chaîne doit être saisie, l'utilisation de guillemets vides se traduit par la transmission d'une chaîne vide. Notez qu'il y a un espace entre ValeurOption et le signe égal.

Remarque la commande sc create effectue les opérations de la fonction API CreateService.

L'exemple suivant crée une entrée de Registre pour le service nommé « NewService » sur l'ordinateur nommé \\ordinateurdistant :
sc \\ordinateurdistant create NewService binpath= c:\nt\system32\newserv.exe
Remarque Dans Windows 2000, Windows XP, Windows Server 2003, Windows Vista et Windows Server 2008, le binpath se trouve dans C:\Windows\System32\Newserv.exe.

Ce service est créé par défaut en tant que WIN32_SHARE_PROCESS avec un type de démarrage SERVICE_DEMAND_START. Il n'a pas de dépendances et il s'exécute dans le contexte de sécurité LocalSystem.

L'exemple suivant crée le service sur l'ordinateur local en tant que service démarrant automatiquement et s'exécutant dans son propre processus. Il a des dépendances sur le groupe TDI et sur le service NetBIOS. Notez que vous devez ajouter des guillemets autour de la liste des dépendances séparées par un espace.
sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "+tdi netbios"
Remarque Dans Windows 2000, Windows XP, Windows Server 2003, Windows Vista et Windows Server 2008, le binpath se trouve dans C:\Windows\System32\Newserv.exe.

Pour plus d'informations sur l'outil Sc.exe, reportez-vous au document Sc-dev.txt dans le Kit de ressources. Ce document décrit Sc.exe plus en détails.

Propriétés

Numéro d'article: 251192 - Dernière mise à jour: jeudi 10 avril 2008 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professionnel
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Windows Vista Édition Familiale Basique
  • Windows Vista Édition Familiale Basique N
  • Windows Vista Édition Familiale Basique N 64-bit Edition
  • Windows Vista Professionnel
  • Windows Vista Professionnel 64 bits
  • Windows Vista Professionnel N
  • Windows Vista Professionnel N 64-bit Edition
  • Windows Vista Édition Familiale Premium
  • Windows Vista Édition Familiale Basique 64 bits
  • Windows Vista Édition Familiale Premium 64 bits
  • Windows Vista Édition Intégrale
  • Windows Vista Édition Intégrale 64 bits
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows XP Professional
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
Mots-clés : 
kbhowto kbexpertiseinter kbinfo KB251192
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com