Je souhaite uniquement que l’invite UAC demande le programme net.exe [.] Est-ce possible?
À ma connaissance, la réponse est probablement «non».
Le UAC est affiché pour nircmd
donc ça peut courir net start
avec les privilèges élevés appropriés (requis par Windows). Cette élévation doit avoir lieu avant net start
est couru. D'après mon expérience, c'est généralement le cas de nombreux programmes ou scripts tiers remplissant une fonction similaire.
Élever est une exception (c'est-à-dire qu'il affichera Net Command
dans le UAC), mais là encore, il ne supprime pas la fenêtre de la console comme nircmd
Est-ce que.
Après cela, je ne veux plus que la fenêtre de la console apparaisse.
Bien qu'une fenêtre de console puisse apparaître avec d'autres solutions (par exemple, elevate.exe
, une .vbs
script), une nouvelle fenêtre de console ne s'affiche pas après l'exécution nircmd elevatecmd execmd net start example_service
.
Supprimer la fenêtre de la console
Bien qu'il ne soit probablement pas possible d'afficher net.exe
dans le contrôle de compte d'utilisateur, vous pouvez supprimer la fenêtre de la console pour le fichier de commandes (ce qui semble sincèrement être votre objectif véritable, si je ne me trompe pas trop mal):
Créer un .bat
fichier par exemple start_service.bat
avec quelque chose comme ce qui suit:
C:\path\to\nircmd.exe elevatecmd execmd net start example_service
Créez un nouveau raccourci quelque part pour l'exécuter .bat
fichier. Faites en sorte que la cible ressemble à ce qui suit:
C:\path\to\nircmd.exe execmd C:\path\to\start_service.bat
Pour cet exemple, lorsque ce raccourci est utilisé (pas le .bat
fichier directement), seule l'invite UAC sera affichée (aucune fenêtre de console ne s'affichera).
nircmd
donc ça peut courirnet start
avec les privilèges élevés appropriés (requis par Windows).