Précédent   Forum du club des développeurs et IT Pro > Dotnet > Développement Windows > Services Windows
Services Windows Forum d'entraide sur le développement de services Windows.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 14h41   #1
batou22003
Membre régulier
 
Inscription : décembre 2005
Messages : 209
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 209
Points : 98
Points : 98
Par défaut services windows quand la session est fermée

Bonjour, je voulais savoir si un services Windows pouvait encore tourner
quand une session windows est fermée.
Comment s'y prendre dans ce cas?

:
__________________
batou22003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h05   #2
Pol63
Expert Confirmé Sénior
 
Avatar de Pol63
 
Homme Sébastien
Développeur .NET / DBA SQL SERVER
Inscription : avril 2007
Messages : 10 225
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Développeur .NET / DBA SQL SERVER
Secteur : Industrie

Informations forums :
Inscription : avril 2007
Messages : 10 225
Points : 17 082
Points : 17 082
Envoyer un message via Skype™ à Pol63
un service peut forcément tourner même sans session, c'est le but d'un service

il suffit de créer un service, l'installer, et le mettre en mode démarrage automatique, dans ce cas il se lance au démarrage de windows avant l'ouverture de session, et s'arrête quand windows s'arrête

en conséquence un service ne peut rien afficher aux utilisateurs
Pol63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 09h34   #3
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 748
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 748
Points : 5 186
Points : 5 186
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
Citation:
Envoyé par Pol63 Voir le message
un service peut forcément tourner même sans session, c'est le but d'un service
Euh, j'ai pas compris là. Je crois qu'il fallait dire qu'un service windows n'a pas besoin de tourner avec une session utilisateur mais doit être démarré dans ce cas soit avec une connexion Local System ou Local Network qui sont tous deux des sessions windows mais impossible à un uilisateur de les utiliser pour se connecter.
__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 10h25   #4
Pol63
Expert Confirmé Sénior
 
Avatar de Pol63
 
Homme Sébastien
Développeur .NET / DBA SQL SERVER
Inscription : avril 2007
Messages : 10 225
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Développeur .NET / DBA SQL SERVER
Secteur : Industrie

Informations forums :
Inscription : avril 2007
Messages : 10 225
Points : 17 082
Points : 17 082
Envoyer un message via Skype™ à Pol63
pas sûr de te comprendre non plus

un service démarre sur un utilisateur, pas une session
le service se retrouve donc avec les droits de l'utilisateur (un service lancé sur un utilisateur A ne pourra pas lire les fichiers dont A n'a pas les droits dessus)
LocalNetwork est un utilisateur windows, mais ne peut pas être utilisé pour ouvrir une session, et windows non plus n'ouvre pas de session pour lui
même en choisissant un utilisateur qu'on a créé comme utilisateur du service, le service démarre avant l'ouverture de session et n'est pas lié à la session et ne peut être lancé que de façon unique

un service ne peut pas interragir avec le "bureau" (du moins par défaut, mais ca reste déconseillé)
d'ailleurs sur un windows server, un même utilisateur peut ouvrir 3 sessions, et le service n'aura qu'une seule instance en fonctionnement et c'est là qu'on comprends qu'un service ne doit pas agir avec le bureau, car si on a une fenêtre a affiché, windows ne sait pas sur quelle session des 3 il devrait le faire et puis un service lancé sur LocalNetwork ne trouverait pas de session sur laquelle afficher la fenêtre
Pol63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h15   #5
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 748
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 748
Points : 5 186
Points : 5 186
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
Je pense que tu as une mauvaise compréhension de la définition de session windows.

Tiré de MSDN :
Citation:
Les services Microsoft Windows, précédemment appelés services NT, vous permettent de créer des applications à durée d'exécution longue s'exécutant dans leurs propres sessions Windows.
Que le service soit démarré avec LocalSystem ou LocalNetwork ou Compte Utilisateur une session windows sera toujours ouverte pour son exécution.
Une session Windows n'est pas forcément associée à un compte utilisateur. Une session Windows peut bien être ouverte par un compte système type LocalSystem ou LocalNetwork. En plus par défaut le service est configuré pour démarrer avec le compte LocalSystem que tu peux changer en faisant un click droit sur le nom de ton service puis Propriétés et onglet Connexion.

Pour ce qui concerne l'interaction avec le bureau, un compte LocalSystem peut bien le faire en cochant la case encadrée en rouge dans l'image que j'ai jointe.

Je reprend clairement ma réponse dans mon post précédent :
Un service Windows a toujours besoin d'une session Windows pour s'exécuter mais cette session n'est pas forcément ouverte par un compte utilisateur car on peut utiliser les comptes systèmes tels que LocalSystem ou LocalNetwork.

bon là je pense que c'est plus clair.
__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 13h39   #6
Pol63
Expert Confirmé Sénior
 
Avatar de Pol63
 
Homme Sébastien
Développeur .NET / DBA SQL SERVER
Inscription : avril 2007
Messages : 10 225
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 31
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Développeur .NET / DBA SQL SERVER
Secteur : Industrie

Informations forums :
Inscription : avril 2007
Messages : 10 225
Points : 17 082
Points : 17 082
Envoyer un message via Skype™ à Pol63
je ne sais pas qui a raison mais on est pas du même avis ...

LocalNetwork, LocalSystem et autres sont des utilisateurs
preuve en est qu'on peut leur donner des droits sur des dossiers/fichiers

l'exécution d'un service se fait peut être dans une session mais ca n'a rien à voir avec les sessions de bureau !
on peut choisir de démarrer un service sur son compte utilisateur, pourtant l'application va démarrer avant l'ouverture de session donc ca n'est pas liée à la session de bureau

quant à la case à cocher, elle est déconseillée et incohérente
Pol63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h59.


 
 
 
 
Partenaires

Hébergement Web