如何find过去90天内创build的新Active Directory帐户?

我如何find最近90天内创build的新的Active Directory帐户?

有谁知道谁来做这个? 我无法弄清楚。

提前致谢。

对于后人来说,dsquery是为这种search而devise的。 AD确实保留了'whenCreated'字段,这使得您可以轻松地使用您select的工具进行search。

  dsquery * -filter“(whenCreated> = 20101022083730.0Z)” 

举个例子。 您可以编程方式创build基于现在 – 90天的时间string。

尝试以下操作以吸引过去30天内创build的用户。

 Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date} 

上面显示的Powershell版本的替代scheme,效率更高,因为它在过滤之前不加载内存中的所有用户(您应该直接在Get-ADUser cmdlet上执行filter,而不使用Where-Object):

 $now = ((Get-Date).AddDays(-90)).Date Get-ADUser -Filter {whenCreated -ge $now} 

使用PowerShell和AD的Quest ActiveRoles工具(在这里find – http://www.quest.com/powershell/activeroles-server.aspx ),

 Get-QADUser -CreatedAfter (Get-Date).AddDays(-90) 

会给你输出到控制台或在过去90天内创build的所有用户的redirect。

以下是另外一个网站的例子,这个网站提供了一个按创builddatesorting的所有AD账户:

http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html

您可以从Active Directory中获取每个帐户的创builddate。 每个AD对象都有一个WhenCreated和WhenChanged属性。 您可以使用LDIFDE实用程序将这些属性转储到平面文件中,也可以使用CSVDE(这两个实用程序随Windows 2000一起提供)将它们转储到以逗号分隔的文件中。

以下是在称为Company.com的域中称为Phoenix的OU中将用户对象的两个属性转储到控制台以供查看的语法(整个条目应该键入为单行):

ldifde -d ou = phoenix,dc = company,dc = com -l whencreated,whenchanged -p onelevel -r“(ObjectCategory = user)”-f con

如果要将转储保存到文件,请将-f开关从con更改为文件名。

最后一次login时间戳使用以下格式:YYYYMMDDHHMMSS,在全球标准时间显示小时。 时间戳20040115182937.0Z对应于2004年1月15日18:29:37 UCT。

USRSTAT速度很慢,您得到的报告必须与LDIFDE转储合并。 所以,我把一个脚本放在一起search每个域控制器上的用户对象,然后列出本地login时间和创build时间。 用户login时间戳需要从长整数转换。 我借用了来自Richard L. Mueller(www.rlmueller.net/Programs)的转换代码。 理查德的完整脚本还从registry中获取本地时区,并将时间从UCT转换为当地时间。 俏皮的

你可以很容易地使用dsquery来做到这一点

这是一个相反但相关的问题

Dsquery文档