Problèmes de droit sur démarrage / arrêt de service via ServiceController [Résolu]

sfingers76 12 Messages postés mercredi 28 janvier 2004Date d'inscription 2 août 2012 Dernière intervention - 2 août 2012 à 14:26 - Dernière réponse : sfingers76 12 Messages postés mercredi 28 janvier 2004Date d'inscription 2 août 2012 Dernière intervention
- 2 août 2012 à 16:08
Bonjour à tous,

J'ai un problème sur lequel je me casse les dents depuis quelques temps.

Je suis en train de faire un programme qui va parcourir les objets Computers de l'AD de mon entreprise pour ensuite aller vérifier qu'un service donné est bien démarré ou pas ...

Pas de souci, j'arrive à remonter l'info. En revanche, si le service est arrêté, je souhaiterais le redémarrer automatiquement. Et c'est là que le bas blesse.

Voici mon code :
                    ServiceControllerTotalDeviceClient.Start()
                    While ServiceControllerTotalDeviceClient.Status <> ServiceProcess.ServiceControllerStatus.Running
                        System.Threading.Thread.Sleep(100)
                        ServiceControllerTotalDeviceClient.Refresh()
                    End While

Le programme cherche bien à lancer le service mais tombe rapidement en erreur :
"Impossible d'ouvrir le service sur l'ordinateur XXX".

En cherchant un peu, j'ai vu que c'était un problème de droits. Qu'il me fallait des droits d'admin. Bon certes ... je suis tout de même admin du domaine avec le user avec lequel j'effectue mes tests ...

J'ai donc cherché une solution pour passer des credentials à mon contrôle, mais je ne trouve pas.

Auriez-vous une solution à me proposer, SVP ?
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention - 2 août 2012 à 15:52
3
Merci
Bonjour,

Peut être :
http://dukelupus.wordpress.com/2011/01/25/how-to-force-net-application-to-run-as-an-administrator-on-windows-7vista/

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de NHenry
sfingers76 12 Messages postés mercredi 28 janvier 2004Date d'inscription 2 août 2012 Dernière intervention - 2 août 2012 à 14:54
0
Merci
J'ai trouvé une solution palliative pour me permettre de poursuivre mon code.
En compilant mon application et en l'exécutant en tant qu'administrateur", ça a marché.
J'ai donc redémarré VB 2008 en tant qu'admin et ça fonctionne ! 8|
Comment donc forcer cette application a s'exécuter systématiquement en tant qu'admin ?
Commenter la réponse de sfingers76
sfingers76 12 Messages postés mercredi 28 janvier 2004Date d'inscription 2 août 2012 Dernière intervention - 2 août 2012 à 16:08
0
Merci
Parfait, j'ai trouvé ce qu'il me fallait :

As it came out, you need to add a manifest to your .NET application. Right-click in Visual Studio project, Add file – and add Application Manifest file, usually named app.manifest. Find line:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
and replace “asInvoker” with “requireAdministrator”:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Merci beaucoup pour le tuyau.
Commenter la réponse de sfingers76

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.