我正在验证Active Directory存储中的用户,如下所示:
// using System.DirectoryServices.AccountManagement;
// located in System.DirectoryServices.AccountManagement.dll
using (var context = new PrincipalContext(ContextType.Domain, server, container,
ContextOptions.Negotiate, validateUsername, validatePassword))
{
背景
我正在创建一些SQL以帮助进行安全审计;这将获取来自各种系统、数据库和的安全信息,并将生成所有异常的列表(即在一个系统中关闭帐户而不是在其他系统中关闭帐户的情况)。
电流码
要获得作为安全组成员的用户列表,我运行以下SQL:
if not exists(select 1 from sys.servers where name = 'ADSI')
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', '
我想在AD中查询一些用户属性,但在特定的DC上,在C#中查询。我们有几十个区议会,我怀疑它们之间存在一些复制问题。我想对未使用的帐户进行清理,我想使用最后一个登录时间属性,并且我想在所有的do上一次一次地查询这个属性(我知道这有点像野蛮强制,但是我不打算经常这样做),这样我就可以查看最近的值是否是最新的--最新的值是否是最新的。我有代码来查询所有的区议会:
Domain TestDomain = Domain.GetCurrentDomain();
Console.WriteLine("Number of found DCs in the
在同一个数据库中,我有一个表,其中包含我想要的列:id,title,text。我只想要在表lastlogon中title没有条目的记录,这个表的标题等价物就是username。
我一直在PHP中使用这个SQL命令,它通常需要2-3秒才能拉出:
SELECT DISTINCT * FROM messages WHERE title NOT IN (SELECT username FROM lastlogon) LIMIT 1000
在表lastlogon开始拥有大约80%的值表messages之前,这一切都很好。Messages大约有8000个条目,lastlogon大约有7000个。现在它大约
我目前正在从事一个名为“用户提取”的项目,该项目包含基于我的域的活动目录中的用户列表框,当选择某个用户时,我将获得该用户的所有信息,例如名称、电子邮件、电话等,但是活动目录中的一些值被存储为整数8值,只有当该值是活动目录中的字符串时,我才能使用GetDirectoryEntry().Properties并在文本框中显示所有信息。从下面的代码中可以看出,主目录、主驱动器、创建时、更改时都可以工作,因为它们要么是格式通用的时间,要么是字符串,但是帐户过期、最后下关、错误的密码时间不起作用,因为它们是整数8类型,我试过:
if (rs.GetDirectoryEntry().Prope