Start/Stop service from an ASP . NET page

后端 未结 2 1473
长发绾君心
长发绾君心 2021-01-13 23:00

I implemented a web page (ASP .NET, VB) to start/stop a Windows service.

I used impersonification, as described here: http://support.microsoft.com/kb/306158

相关标签:
2条回答
  • 2021-01-13 23:15

    In my case, both LOGON32_LOGON_INTERACTIVE and LOGON32_LOGON_SERVICE don't work.

    However, LOGON32_LOGON_NETWORK works for me. Note that the user has admin privilege therefore is able to start/stop the windows service.

    0 讨论(0)
  • 2021-01-13 23:31

    Solution proposed here http://support.microsoft.com/kb/306158 said

    Dim LOGON32_LOGON_INTERACTIVE As Integer = 2
    Dim LOGON32_PROVIDER_DEFAULT As Integer = 0
    
    If LogonUserA(userName, domain, password, LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT, token) <> 0 Then
        [...]
    End if
    

    It didn't work for me.

    I replaced LOGON_32_LOGON_INTERACTIVE with LOGON32_LOGON_SERVICE:

    Dim LOGON32_LOGON_INTERACTIVE As Integer = 2
    Dim LOGON32_LOGON_NETWORK As Integer = 3
    Dim LOGON32_LOGON_BATCH As Integer = 4
    Dim LOGON32_LOGON_SERVICE As Integer = 5
    Dim LOGON32_LOGON_UNLOCK As Integer = 7
    Dim LOGON32_LOGON_NETWORK_CLEARTEXT As Integer = 8
    Dim LOGON32_LOGON_NEW_CREDENTIALS As Integer = 9
    Dim LOGON32_PROVIDER_DEFAULT As Integer = 0
    
    If LogonUserA(userName, domain, password, LOGON32_LOGON_SERVICE,LOGON32_PROVIDER_DEFAULT, token) <> 0 Then
        [...]
    End if
    

    And it works for me: the ASP .NET page can start/stop the service.

    0 讨论(0)
提交回复
热议问题