如何在有人試圖停止Windows服務時提示輸入密碼和用戶?在Windows服務中提示輸入密碼
回答
通常,沒有理由這樣做。默認情況下,只有管理員可以停止服務,並且如果服務可以完全停止,向管理員請求密碼是沒有意義的:他們是管理員,因此根據定義,他們有權做任何事情。
有意義的一種情況是,如果您希望普通用戶能夠在知道密碼時停止服務。這樣,您可以讓別人停止服務,而無需授予他們對計算機的管理權限。 (即便如此,在大多數情況下,更改服務權限以允許有問題的用戶有權停止該服務會更簡單;但也許,例如,您希望用戶必須打電話給幫助臺以獲得密碼)。
使這項工作的祕訣在於,服務有權在沒有收到操作系統停止請求的情況下出於任何原因自行停止。所以你可以編寫一個用戶可以運行的程序,如果他們想停止服務。該程序接受密碼並通過某種形式的IPC將其發送到服務,例如命名管道。如果密碼正確,則服務停止。
您也可以配置該服務,以便它不接受停止請求,在這種情況下,管理員還需要密碼才能很好地停止該服務。但是這並不能阻止他們停止服務,因爲他們會終止服務流程,或者卸載服務並重新啓動計算機。
它不能直接從服務中完成。但是,如果服務設置爲與桌面交互,則可以由另一個應用程序管理該服務。因此,您可以使用GUI來創建另一個監視服務的應用程序。當服務的「Stopping」事件觸發時,該服務可以在共享狀態文件中設置一些值,並等待監視應用程序在狀態文件中寫入確認值。也許不是你正在尋找的東西,但我認爲你可以得到你想要的結果。
你有這方面的例子嗎?也許一些源代碼? – AlexandruC
我多年前寫了一個程序,做了一些這些東西。我會看看我能否爲你找到它。 –
非常感謝。我會等待。 – AlexandruC
- 1. 可以提示輸入windows服務的用戶名/密碼嗎?
- 2. .htaccess提示輸入密碼
- 3. 提示輸入HTML密碼
- 4. 在c中安裝windows服務時提示用戶名密碼#
- 5. 即使密碼在腳本中,SFTP提示輸入密碼
- 6. 在Windows批處理提示時輸入用戶名密碼
- 7. 設置SSH密鑰,但服務器仍然會提示輸入密碼?
- 8. 加密服務提供商不會提示輸入智能卡
- 9. MySQL的提示輸入兩次密碼
- 10. JavaScript提示輸入密碼(即*******)
- 11. Git提示我輸入gitolite密碼
- 12. C++ shell命令提示輸入密碼
- 13. pysvn用svn + ssh提示輸入密碼
- 14. 停止提示輸入密碼Apache Tomcat
- 15. PowerShell v1腳本提示輸入密碼
- 16. ODBC持續提示輸入密碼
- 17. mitmproxy證書提示輸入密碼
- 18. 隱藏密碼用戶輸入提示
- 19. 檢查是SSH提示輸入密碼
- 20. keytool不會提示輸入android密碼
- 21. PNotify提示的密碼輸入
- 22. Git停止提示輸入密碼
- 23. WebSphere wsadmin jython - 提示輸入密碼
- 24. 發送時提示輸入密碼
- 25. apache ant:響應提示輸入密碼
- 26. Git bash for Windows不提示輸入密碼
- 27. Windows身份驗證提示輸入用戶名和密碼
- 28. Windows身份驗證提示輸入用戶名/密碼
- 29. (Windows)如何輸入在bat文件中執行命令後提示的密碼?
- 30. 防止密碼提示正確輸入密碼
你爲什麼要這麼做? 但是沒有,沒有直接的方法來做到這一點,因爲Windows服務沒有綁定到Windows GUI。 – Quintium
假設任何具有停止服務所需權限的人都擁有管理控制權並且幾乎可以做任何他們想做的事情。不需要額外的密碼。 –
看看這個:[保護Windows服務不受信任的用戶](http://stackoverflow.com/questions/4266776/protecting-a-windows-service-from-untrusted-users) –