IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Configuration Service et Droit d'accés


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut Configuration Service et Droit d'accés
    Bonjour,

    Dans :
    panneau de configuration/Outils d'administration/Stratégie de sécurité locale/Attribution des droits aux utilisateurs/Ouverture en tant que service
    Je voudrai savoir comment faire pour Ajouter un utilisateur, dans mon programme biensûr.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut Changer la configuration d'un service
    Bonjour,

    Jai un mon programme en mode service que je configure sur mon compte à l'aide de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ChangeServiceConfig(AHandle_Service,
                             SERVICE_NO_CHANGE, // On ne change pas le type du service
                             StartType,         // Nouvelle configuration de démarrage
                             SERVICE_NO_CHANGE, // On ne change pas le mode de contrôle des erreurs
                             NiL,NiL,NiL,NiL,NiL,NiL,NiL) // On ne modifie aucune des autres paramètres de configuration
    Le probleme est que la configuration se fait mais pas comme dans le gestionnaire de service même.

    Je m'explique: je configure mon Service avec mon compte utilisateur et mon mot de passe.

    Mais il ne me donne pas les droits.

    Or dans gestionnaire de service/Proprieté/Connexion je fait la met mon Compte utilisateur et mon mot de passe, Et la tout va bien.

    Merci.

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Peut-être que la réponse se trouve dans la faq...
    http://delphi.developpez.com/faq/?page=services-nt

  4. #4
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Merci, a vous mais ma réponse n'est pas là, en faite il parle du sujet mais sans succés.

  7. #7
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    non je n'ai pas de solutions....
    malgré les pistes que m'a donné Pascal Jankowski, il semble que les stratégies de sécurité ne soient pas configurables (ce qui semble un rien logique).
    Mais bon peut être que sur un forum d'administrateur réseau j'aurais plus de chance...

    Quoi qu'il en soit dés que j'ai une soluce, je poste !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Citation Envoyé par HumanTool
    Lorsque je lance mon service par le biais d'une raccourci avec ces arguments, le service s'installe avec succés et l'utilisateur reçoit le droit "Ouvrir une session en tant que service"
    Tu peut me dire quel raccourci tu utilise?

  9. #9
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    Monservice.exe Machine\utilisateur motdepasse /INSTALL

    cf. mon premier post en haut !

  10. #10
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    la réponse est effectivement comme l'a suggérer Sub0 mais il faut regarder du côté de la note laisser en fin d'article
    Note:
    Il existe une API similaire, ChangeServiceConfig2, qui permet de modifier des informations supplémentaires.
    en effet, en allant sur la msdn j'ai vu que cette fonction permet de changer les privilèges en lui passant une structure
    SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
    et quand on regarde la structure on y trouve
    SE_SERVICE_LOGON_NAME Required for an account to log on using the service logon type.
    cela ressemble à une bonne piste donc je vais la tester...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par HumanTool
    la réponse est effectivement comme l'a suggérer Sub0 mais il faut regarder du côté de la note laisser en fin d'article

    en effet, en allant sur la msdn j'ai vu que cette fonction permet de changer les privilèges en lui passant une structure
    et quand on regarde la structure on y trouve

    cela ressemble à une bonne piste donc je vais la tester...

    En effet je test aussi car sa à l'air d'etre ce que nous cherchons.

  12. #12
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    ouais bon ben l'API ChangeServiceConfig2 n'a pas été traduite dans l'unité WinSvc (je suis en delphi 7). Donc bon c moyen pour l'utiliser...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Ta réussi a le faire tourné sans erreur sous Delphi 7?

  14. #14
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls, WinSvc;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        Handle_SCM, Handle_Service : SC_Handle; // handle du service
     
        procedure Get_Service(const ANom: String);
        procedure Close_Service;
        procedure Start_Service(Srv_Hwnd: Sc_Handle);
        procedure SetConfigurationService;
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Get_Service(const ANom: String);
    begin
     
    Handle_SCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
     
        if Handle_SCM = 0 then Exit;
     
        Handle_Service := OpenService(Handle_SCM, PChar(ANom), SERVICE_ALL_ACCESS);
        if Handle_Service = 0 then ShowMessage('Erreur lors de l''ouverture du service :' + ANom);
    end;
     
    procedure TForm1.Close_Service;
    begin
        CloseServiceHandle(Handle_Service);
        CloseServiceHandle(Handle_SCM);
    end;
     
    procedure TForm1.Start_Service(Srv_Hwnd: Sc_Handle);
    var
        ArrayOfArguments : PChar;
    begin
        ArrayOfArguments := nil;
        if not StartService(Handle_Service, 0, ArrayOfArguments) then
            MessageDlg(SysErrorMessage(GetLastError), mtError, [mbOK], 0);
    end;
     
    procedure TForm1.SetConfigurationService;
    var
        Verrou_SCM : SC_LOCK;
        procedure Informe;
        begin
            MessageDlg('La configuration du service ne peut être modifiée :'
                        + #13#10 + SysErrorMessage(GetLastError), mtError, [mbOK], 0);
        end;
     
    begin
        Verrou_SCM := nil;
        try
            Verrou_SCM := LockServiceDatabase(Handle_SCM);
        if not Assigned(Verrou_SCM) then
        begin
            Informe;
            Exit;
        end;
     
        if ChangeServiceConfig(Handle_Service,
                             SERVICE_NO_CHANGE, // On ne change pas le type du service
                             SERVICE_NO_CHANGE, // On ne change pas le type de démarrage
                             SERVICE_NO_CHANGE, // On ne change pas le mode de contrôle des erreurs
                             nil,nil,nil,nil,nil,nil,'Mon service') // On ne modifie aucune des autres paramètres de configuration
                             then
            ShowMessage('La configuration du service a été modifiée.')
        else
            Informe;
     
        finally
            if Assigned(Verrou_SCM) then
                UnlockServiceDatabase(Verrou_SCM)
        end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        Get_Service(Edit1.Text);
        SetConfigurationService;
        Close_Service;
    end;

  15. #15
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    avec ChangeServiceConfig ça marche mais en regardant l'unité WinSvc il n'y a pas de ChangeServiceConfig2....

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Merci

    Mais je te parle de Config2!!!

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par HumanTool
    avec ChangeServiceConfig ça marche mais en regardant l'unité WinSvc il n'y a pas de ChangeServiceConfig2....

    Ah ok!!

    Comment allons nous faire alors?

    Sa ne va pas etre facile

  18. #18
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    A priori on ne peut rien faire...a posteriori peut être que quelqu'un rencherira sur ce post ! Modifié l'unité WinSvc ? je sais pas...si un modérateur pouvait confirmer !

    Pour infos, j'ai testé l'exemple de la JCL comme ils en parlent dans la faq et les composants n'apportent rien en plus, à savoir pour moi la gestion de la récupération du service en cas d'erreurs et les stratégies de sécurité !

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Alors on se lance dans la modification de WinSvc?

    Est-ce possible?

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    De retour sur ce post pour rafraichir la mémoire des utilisateurs du Forum, car le probleme persiste et je voudrai savoir si quelqu'un aurait une solution.

    Merci.

Discussions similaires

  1. [SP-2007] Reporting services WebPart droit d'accès
    Par __CPU__ dans le forum SharePoint
    Réponses: 2
    Dernier message: 04/06/2009, 16h22
  2. [VB.Net] Droits d'accès aux fichiers - Services
    Par CreatixEA dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/11/2007, 10h24
  3. Réponses: 4
    Dernier message: 17/08/2007, 19h35
  4. [Configuration] droits d'accès aux fichiers
    Par drommk dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 20/06/2006, 17h31
  5. Difficulté à configurer les droits d'acces pour PgAdmin
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/12/2005, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo