【发布时间】:2015-09-01 20:27:25
【问题描述】:
我正在从 Active Directory 中获取有关用户和组的信息。我可以通过扩展方法获取各种属性值。
public static string GetProperty(this Principal principal, string property)
{
DirectoryEntry directoryEntry = principal.GetUnderlyingObject() as DirectoryEntry;
if (directoryEntry.Properties.Contains(property))
{
return directoryEntry.Properties[property].Value.ToString();
}
return string.Empty;
}
我面临的问题是我需要获取更深层次的信息,例如何时将用户添加到组中?我希望能够通过 C# 做到这一点。这可能吗?可能使用这些安全事件? https://support.microsoft.com/en-us/kb/174074
使用 ASP.NET MVC、C#、DirectoryServices.dll
【问题讨论】:
-
我认为信息不会以任何可查询的方式直接存储在 AD 中。您的链接是指将出现在安全事件日志中的条目。
-
@stephen.vakil 我认为您对不直接存储在 AD 中的信息是正确的。由于它更像是交易数据,我认为它可能在安全事件中,但我不确定这些是否可以从 c# 轻松访问
-
用户添加的标志听起来不像任何属性 AD 组。是否可以拉出用户列表,然后再与该列表进行比较?或者您是否正在寻找某种关于用户已添加的内置通知?
-
@Demarini 我正在寻找内置的东西,但似乎这样的东西不存在。我将研究查询这些代码的安全事件。
标签: c# asp.net-mvc active-directory directoryservices