2010-06-25 10 views
0

Quelqu'un peut-il me dire comment gérer (ou si ce n'est pas possible, surveiller) par programmation les personnes autorisées à se connecter de manière interactive (par un accès physique réel) sur une machine Windows connectée à une architecture de répertoire active? Quelque chose dans BCL/FCL est préféré mais COM interop/WMI est également bien.Comment gérer les utilisateurs avec des droits de connexion interactifs?

Répondre

1

J'ai trouvé un appel COM API qui peut être utilisé pour surveiller et/ou gérer les utilisateurs avec des droits de connexion interactifs.
LsaEnumerateAccountsWithUserRight peut surveiller les personnes ayant des droits de connexion interactifs tandis que LsaAddAccountRights, LsaEnumerateAccountRights et LsaRemoveAccountRights peuvent ajouter et supprimer ces privilèges.

+1

Je suggérerais de marquer ceci comme la réponse afin de donner une indication facile de ce qui a résolu votre problème (c'est parfaitement correct de marquer votre propre réponse comme la bonne réponse). –

0

Vous ne savez pas comment le faire par programme. Vous pouvez le faire avec l'outil NTRights.exe comme:

NTRights -u [username] +r SeDenyInteractiveLogonRight 

Nier un utilisateur le droit d'ouvrir une session interactive. Donc, si vous ne pouvez pas trouver une meilleure solution, vous pouvez éventuellement appeler cet outil à partir de votre application.

+0

Malheureusement, ntrights semble être limité au serveur Windows. Existe-t-il un équivalent sur Windows XP et supérieur? – apoorv020

+0

@ apoorv020: C'est dans le kit de ressources du serveur, mais je pense que vous pouvez aussi l'utiliser sous XP, mais pas complètement sûr. –

Questions connexes