Comment puis-je redémarrer IIS à partir de code C# en cours d'exécution en tant qu'utilisateur qui est administrateur?
Généralement (sous Windows 7), l'installation d'un programme va demander l'autorisation de modifier le système. En tant qu'administrateur, je peux donner l'autorisation sans fournir de mot de passe.
Je suis à essayer de comprendre comment prendre une action de l'administrateur (redémarrer IIS) à partir de code C# en cours d'exécution en tant qu'utilisateur est UN administrateur, mais pas LE compte "Administrateur".
OriginalL'auteur Fantius | 2011-10-24
Vous devez vous connecter pour publier un commentaire.
Pour exécuter un processus élevée, vous pouvez utiliser le runas verbe.
Pour redémarrer IIS (comme mentionné précédemment), utilisez la commande iisreset.
Espérons que vous trouverez ce utile.
Je ne pense pas que la commande runas est exactement le même que le runas verbe. À partir de la question, je suppose que Vous voulez le faire à partir du code.
OriginalL'auteur ZFE
Pour ceux qui sont encore à la recherche de ce, voici le code que j'utilise pour m'aider à sortir de ce.
Espérons que cette aide!
OriginalL'auteur Pieter Pretorius
Essayez d'exécuter le
IISReset
commande à partir de C#http://technet.microsoft.com/en-us/library/cc758159(WS.10).aspx
À l'aide de
ProcessStart
Si vous utilisez l'Authentification AD, et vous êtes un administrateur, cela devrait fonctionner
issreset.exe -> iisreset.exe
OriginalL'auteur hunter
ce code vous aider, mais vous pouvez obtenir l'Accès est Refusé.
Pour votre pas obtenir l'Accès est Refusé ;
1)Cliquez-Droit Sur Le Projet
2)Ajouter Un Nouvel Élément
3)Ajout D'Un Fichier De Manifeste D'Application
entrez la description de l'image ici
4) modifier ce code
que ce
OriginalL'auteur Mehmet Topçu
Il y a deux façons de procéder, mais fr les deux vous avez besoin pour exécuter VS d'administration.
Ce code vous invite dans un vide cmd pendant un certain temps et va fermer la fenêtre automatiquement.
Process iisReset = new Process();
iisReset.StartInfo.FileName = "iisreset.exe";
iisReset.StartInfo.RedirectStandardOutput = true;
iisReset.StartInfo.UseShellExecute = false;
iisReset.Start();
iisReset.WaitForExit();
ce code sera également redémarrer IIS et il vous invite CMD avec peu de traitement.
Process.Start(@"C:\WINDOWS\system32\iisreset.exe", "/noforce");
OriginalL'auteur sunm
Voici un lien à la façon dont cela est fait en power shell
http://www.computerperformance.co.uk/powershell/powershell_service_start.htm
Une autre possibilité serait d'utiliser WMI
http://www.motobit.com/tips/detpg_vbs-wmi-restart-service/
Voici une autre manière directement dans #
http://www.csharp-examples.net/restart-windows-service/
J'espère que cela aide....
Friedel, Le dernier lien a C# exemples comment redémarrer un service. Afin de ne répondre à la question
Je vais enlever le bas de vote, mais vous ne fournissez pas les détails pour le redémarrer IIS avec un lien vers un site distant ne répond pas à la question. Pour apporter de la valeur, de pseudo-code décrivant l'action serait plus utile à la communauté. La mise a jour de mon vote est verrouillé, sauf si la réponse est édité. De Plus il les conduirait vers le bas d'autres questions, comme le lien ici: stackoverflow.com/questions/19763527/...
OriginalL'auteur Nigel Findlater