Как добавить политики учетных записей пользователей программно? - PullRequest
3 голосов
/ 09 февраля 2010

Я использовал API-интерфейсы NetUserAdd и NetUserSetGroups, чтобы добавить учетную запись пользователя и связать ее с группой на компьютере. Не много позже я нашел пример, способный сделать то же самое (добавить пользователя, связать его с группой), используя System.DirectoryServices пространство имен и DirectoryEntry объект.

Теперь мне нужно добавить политики в эту новую учетную запись, и я столкнулся с аналогичной проблемой. Я могу использовать API-интерфейсы LsaOpenPolicy и LsaAddAccountRights для добавления политики и учетной записи, но я бы предпочел использовать объекты и методы .NET.

Мой вопрос, есть ли / есть в объектной среде .NET методы для добавления и / или изменения параметров политики учетных записей пользователей, и если да, то как называются эти объекты или методы?

Также будет полезен пример использования.

В частности, я хочу добавить «SeServiceLogonRight», иначе известный как вход в систему как право на обслуживание, к новой учетной записи пользователя.

1 Ответ

3 голосов
/ 21 апреля 2010

Нет, я не верю, что какие-либо из существующих сборок .net реализуют эти методы. Это единственные методы, которые я нашел в сборках Fx 2.0, 3.0 и 3.5 с атрибутом DllImportAttribute и именем /Lsa.+/

.

[mscorlib] Microsoft.Win32.Win32Native.LsaNtStatusToWinError Microsoft.Win32.Win32Native.LsaDeregisterLogonProcess Microsoft.Win32.Win32Native.LsaClose Microsoft.Win32.Win32Native.LsaFreeReturnBuffer Microsoft.Win32.Win32Native.LsaLookupSids Microsoft.Win32.Win32Native.LsaFreeMemory Microsoft.Win32.Win32Native.LsaLookupNames Microsoft.Win32.Win32Native.LsaOpenPolicy Microsoft.Win32.Win32Native.LsaLogonUser Microsoft.Win32.Win32Native.LsaLookupAuthenticationPackage Microsoft.Win32.Win32Native.LsaRegisterLogonProcess Microsoft.Win32.Win32Native.LsaLookupNames2 Microsoft.Win32.Win32Native.LsaConnectUntrusted
Microsoft.Win32.Win32Native.LsaGetLogonSessionData

Тем не менее, кто-то написал управляемую оболочку для этих функций. http://www.hightechtalks.com/csharp/lsa-functions-276626.html

Существует также отличная статья о Codeproject, функциях LSA - привилегии и олицетворение http://www.codeproject.com/KB/cs/lsadotnet.aspx

...