Dans les systèmes d'exploitation de type Windows NT, un service (ou service Windows) est un programme qui fonctionne en arrière-plan[1]. Il est similaire à un daemon d'Unix[1]. Un service doit se conformer aux règles d'interface et aux protocoles du Service Control Manager, le composant chargé de la gestion des services[2].
Les services peuvent être configurés pour démarrer lorsque le système d'exploitation est démarré et fonctionner en arrière-plan tant que Windows est en cours d'exécution. En variante, ils peuvent être lancés manuellement par l'utilisateur ou par un événement qui a besoin du service. Les systèmes d'exploitation de type Windows NT incluent de nombreux services. Les services sont rattachés à trois comptes d'utilisateur : le compte Système, le compte Service réseau et le compte Service local. Parce que les services sont associés à leurs propres comptes utilisateur dédiés, ils peuvent fonctionner sans qu'un utilisateur soit connecté au système d'exploitation. Les services sont souvent associés à des processus hôtes pour les services Windows. Le Common Information Model, représente un service Windows avec la classe Win32_Service[3].
Avant Windows Vista, les services installés comme services interactifs peuvent interagir avec le bureau de Windows et afficher une interface utilisateur graphique. Cependant, dans Windows Vista, les services interactifs sont dépréciés et peuvent ne pas fonctionner correctement par suite du resserrement des règles de sécurité de Windows Vista[4],[5].
Un service est tout d'abord un programme créé en utilisant des outils de développement tels que Microsoft Visual Studio ou Embarcadero Delphi. Pour être un service, un programme doit être écrit de telle manière qu'il peut traiter des messages démarrer, arrêter et mettre en pause provenant du Service Control Manager. Service Control Manager est un composant de Windows qui est responsable du démarrage et de l'arrêt des services.
Le Windows Resource Kit de Windows NT 3.51, Windows NT 4.0 et Windows 2000 fournit des outils pour contrôler l'utilisation et l'enregistrement des services