Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre habitué
    Inscrit en
    décembre 2005
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : décembre 2005
    Messages : 214
    Points : 101
    Points
    101

    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?

    :

  2. #2
    Expert Confirmé Sénior Avatar de Pol63
    Homme Profil pro Sébastien
    Développeur .NET / DBA SQL SERVER
    Inscrit en
    avril 2007
    Messages
    11 121
    Détails du profil
    Informations personnelles :
    Nom : Homme Sébastien
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : avril 2007
    Messages : 11 121
    Points : 17 024
    Points
    17 024

    Par défaut

    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

  3. #3
    Modérateur
    Avatar de h2s84
    Homme Profil pro Holty Samba SOW
    Développeur .NET
    Inscrit en
    mars 2007
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Nom : Homme Holty Samba SOW
    Âge : 29
    Localisation : Sénégal

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

    Informations forums :
    Inscription : mars 2007
    Messages : 3 021
    Points : 5 847
    Points
    5 847

    Par défaut

    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 FAQ 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

  4. #4
    Expert Confirmé Sénior Avatar de Pol63
    Homme Profil pro Sébastien
    Développeur .NET / DBA SQL SERVER
    Inscrit en
    avril 2007
    Messages
    11 121
    Détails du profil
    Informations personnelles :
    Nom : Homme Sébastien
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : avril 2007
    Messages : 11 121
    Points : 17 024
    Points
    17 024

    Par défaut

    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

  5. #5
    Modérateur
    Avatar de h2s84
    Homme Profil pro Holty Samba SOW
    Développeur .NET
    Inscrit en
    mars 2007
    Messages
    3 021
    Détails du profil
    Informations personnelles :
    Nom : Homme Holty Samba SOW
    Âge : 29
    Localisation : Sénégal

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

    Informations forums :
    Inscription : mars 2007
    Messages : 3 021
    Points : 5 847
    Points
    5 847

    Par défaut

    Je pense que tu as une mauvaise compréhension de la définition de session windows.

    Tiré de MSDN :
    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 FAQ 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

  6. #6
    Expert Confirmé Sénior Avatar de Pol63
    Homme Profil pro Sébastien
    Développeur .NET / DBA SQL SERVER
    Inscrit en
    avril 2007
    Messages
    11 121
    Détails du profil
    Informations personnelles :
    Nom : Homme Sébastien
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : avril 2007
    Messages : 11 121
    Points : 17 024
    Points
    17 024

    Par défaut

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •