2012-11-13 126 views
2

我需要什麼代碼才能讓C#應用程序在用戶沒有管理權限的情況下重新啓動用戶的IIS?如何在沒有管理員權限的情況下重新啓動IIS#

+2

您是否需要重新啓動IIS或是否需要重新啓動應用程序?在第一種情況下,我認爲你沒有管理員權限就可以做到這一點(有充分的理由)。在第二種情況下:觸摸web.config。 –

+0

@GrimaceofDespair:只需重新啓動IIS – Demasterpl

回答

4

我不認爲這是有可能通過單獨的代碼(如果它是,它會是一個漏洞。)

你需要寫跑了作爲接受了重啓命令的特權用戶守護進程從無特權的來源,例如通過檢查是否存在鎖定文件或類似文件,或通過套接字接受命令,然後相應地重新啓動服務器。

這將是一個嚴重的安全風險,但仍然,但無論漂浮你的船。

想想爲什麼要這樣做還是要好好想一想。我想你會發現無論什麼條件都無法讓相關用戶成爲IIS管理員,這也是爲什麼用戶不應該重新啓動IIS的絕好理由。

+0

這可能是我的答案,可否詳細說明如何編寫一個守護程序來完成此操作?示例或whatnot – Demasterpl

+0

IIS作爲Windows服務運行,所以我應該認爲最低公分母 - 發出NET STOP/NET START shell命令(如下所述)應該足夠了。 http://support.microsoft.com/kb/236166 –

+0

但是,我想重申,這可能不是一個很好的解決方案,無論它是什麼問題。 –

相關問題