get-user - 选择在某个日期之前创建的用户

时间:2012-10-09 11:47:47

标签: powershell powershell-v2.0 powershell-v3.0

我正在使用Quest snapin从活动目录中获取用户。此脚本显示创建用户的日期和时间。格式为'07 / 16/2007 12:03:55'。

Get-QADUser -IncludeAllProperties -SerializeValues | Foreach-Object {$_.createTimeStamp}

如何显示在01/06/2011 00:00:00之前创建的用户?谢谢!

谢谢。我还有一个问题。如何将服务帐户与域用户分开?我认识到,每个域用户都有邮件参数。是否可以仅包含域用户?

(Get-QADUser user -includeallproperties -serializevalues).mail
user@company.com

2 个答案:

答案 0 :(得分:2)

尝试:

Get-QADUser -IncludeAllProperties -SerializeValues -createdbefore 01/06/2011

如果您想指定日期和时间:

Get-QADUser -IncludeAllProperties -SerializeValues -createdbefore ([datetime]::parse("01/06/2011 01:00:00 pm")) # or "01/06/2011 13:00:00"

对于secon问题,请尝试:

Get-QADUser user -includeallproperties -serializevalues | ? { $_.mail -ne $null } # or just {$_.mail}

答案 1 :(得分:1)

以下只是使用Powershell运算符 lt

Get-QADUser -IncludeAllProperties -SerializeValues | ? { $_.createTimeStamp -lt '01/06/2011' }

这应该回答扩展的问题,这只是扩展过滤器的问题。例如,尝试在邮件值上添加匹配项。例如,如果您知道不想要的用户的邮件属性为空:

Get-QADUser -IncludeAllProperties -SerializeValues | ? { ($_.createTimeStamp -lt '01/06/2011') -and ($_.mail -ne '')}