Bonjour,
Me voici ici pour deux questions de droit d'accès à des services sur une machine distante.
J'ai crée un service Windows (via Visual Studio 2008 en C#) qui tourne sur un serveur (Windows Server 2003). Le compte du service est LocalSystem.
D'autre part, j'ai une application cliente (via Visual Studio 2008 en C#) sur une autre machine (sur Windows XP) qui est chargée de vérifier à intervalles réguliers si ce service Windows est bien démarré.
Les deux machines sont sur le même réseau.
Pour parcourir la liste des services Windows de la machine distante depuis l'application cliente, j'utilise la classe ServiceController et la méthode GetServices notamment.
Exemple de mon code :
J'ai remarqué pour que je puisse accéder aux services, il faut que le compte Windows connecté à l'ordinateur sur lequel est l'application cliente soit dans un groupe Administrateur de la machine distante sur laquelle tourne le service Windows que j'ai crée. Sinon, je n'ai pas les privilèges suffisants.
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 ServiceController serviceScrutation = new ServiceController("ServiceScrutation", Constantes.sNomServeurScrutation); foreach (ServiceController service in ServiceController.GetServices(Constantes.sNomServeurScrutation)) { if (service.ServiceName == serviceScrutation.DisplayName) { if (serviceScrutation.Status == ServiceControllerStatus.Running) { EtatServiceScrutation = true; this.Invoke(new SetEtatService(this.GestionEtat)); compteErreur = 0; } else { EtatServiceScrutation = false; this.Invoke(new SetEtatService(this.GestionEtat)); compteErreur++; } } }
Est-il possible de lister les services Windows d'une machine distante sans que le compte utilisateur de l'application cliente n'ait de droits d'administration sur la machine distante? si non, est-il possible temporairement juste pendant le parcours de la liste des services de la machine distante d'exécuter ce "listage" en tant qu'un autre utilisateur (qui lui aurait les privilèges sur la machine distante)? (genre un net use)
Enfin, question subsidiaire, est-il possible de lister les services Windows distants si les deux machines ne sont pas sur le même réseau?
Merci d'avance pour vos réponses
Partager