c # Предоставление разрешения «Вход в систему как служба» пользователю Windows

как предоставить пользователю право LogOnAsService на службы?

Мне нужно сделать это вручную, в приложении services.msc я могу перейти к службе, изменить пароль (установив тот же пароль, что и раньше), нажать «Применить», и я получу сообщение:

Аккаунт. \ postgres был предоставлено право "Вход в систему как служба".

Как мне сделать это из кода, потому что в противном случае мне придется давать это разрешение вручную каждый раз, когда я запускаю приложение, а это невозможно

@Steve

    static void Main()
    {
        // irrelevant stuff

        GrantLogonAsServiceRight("postgres");

        // irrelevant stuff
    }

    private static void GrantLogonAsServiceRight(string username)
    {
        using (LsaWrapper lsa = new LsaWrapper())
        {
            lsa.AddPrivileges(username, "SeServiceLogonRight");
        }
    }

и Библиотека LSA, созданная этим парнем Вилли.

12
задан bevacqua 8 October 2010 в 18:11
поделиться