2010-02-09 20 views
3

J'utilisais les API NetUserAdd et NetUserSetGroups pour ajouter un compte d'utilisateur et l'associer à un groupe sur un ordinateur. Pas beaucoup plus tard, j'ai trouvé un exemple capable de faire la même chose (en ajoutant un utilisateur, en l'associant à un groupe) en utilisant l'espace de noms System.DirectoryServices et l'objet DirectoryEntry.Comment ajouter des stratégies de compte d'utilisateur par programme?

Maintenant, j'ai besoin d'ajouter des politiques à ce nouveau compte et je suis confronté à un problème similaire. Je peux utiliser les API LsaOpenPolicy et LsaAddAccountRights pour ajouter une stratégie et un compte, mais je préfère utiliser des objets et des méthodes .NET.

Ma question, est/sont-il des méthodes d'objet dans le framework .NET pour ajouter et/ou modifier les paramètres de la stratégie de compte utilisateur, et si oui, quels sont les noms de ces objets ou méthodes?

Un exemple d'utilisation serait également apprécié. En particulier, je cherche à ajouter le "SeServiceLogonRight", également connu sous le nom de connexion en tant que service, à un nouveau compte d'utilisateur.

Répondre

3

Non, je ne crois pas que les assemblages .net actuels implémentent ces méthodes. Ce sont les seules méthodes que je trouve dans le Fx 2.0, 3.0, et 3.5 assemblées avec un DllImportAttribute et un nom /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

Cela dit, quelqu'un a écrit un wrapper managé sur ces fonctions. http://www.hightechtalks.com/csharp/lsa-functions-276626.html

Il y a aussi un grand article sur CodeProject, LSA - Fonctions privilèges et usurpation d'identité http://www.codeproject.com/KB/cs/lsadotnet.aspx

Questions connexes