Get-ADUser with whenCreated in filter
Get-ADUser with whenCreated in filter
我正在查找在两个时间戳之间创建的 AD 用户帐户。但是,我面临这个多余的问题,即在使用 whenCreated
属性以及 -gt
或 -ge
或 [=14 时无法使用 Get-ADUser
获取 AD 用户对象=] (cmdlet 的 -Filter
或 -LDAPFilter
参数中的 -le
) 除外。该 cmdlet 运行良好,仅在使用 -le
运算符时立即开始返回 AD 用户对象。
下面是尝试使用 -LDAPFilter
和 -ge
、-lt
、-gt
时的错误快照,
This 似乎是一个相关的 post。但是,我在那里找不到可行的解决方案,并且当尝试将 !
(非运算符)与 -le
一起使用时(使 -gt
生效),还是收到超时异常。我也试过将 -ResultPageSize
值减少到 5,仍然没有成功 - 超时错误被抛出。
我想在服务器端进行过滤,因为目录很大并且检索所有对象然后在客户端进行过滤效率不是很高。
非常感谢任何建议或解决方法。谢谢。
PowerShell 使用 属性 Created
.
方便地将 whenCreated
属性从 UTC 的 GeneralizedTime 格式转换为本地日期时间
我目前无法对此进行测试,但其中任何一个都应该有效:
# define the start and end dates (Local time)
$startDate = (Get-Date -Year 2021 -Month 1 -Day 14).Date # discard the time part, so set to midnight
$endDate = (Get-Date).Date
尝试:
Get-ADUser -Filter "Created -gt $startDate -and Created -le $endDate"
或之后使用 Where-Object
子句过滤:
Get-ADUser -Filter * -Properties Created | Where-Object { $_.Created -gt $startDate -and $_.Created -le $endDate }
我正在查找在两个时间戳之间创建的 AD 用户帐户。但是,我面临这个多余的问题,即在使用 whenCreated
属性以及 -gt
或 -ge
或 [=14 时无法使用 Get-ADUser
获取 AD 用户对象=] (cmdlet 的 -Filter
或 -LDAPFilter
参数中的 -le
) 除外。该 cmdlet 运行良好,仅在使用 -le
运算符时立即开始返回 AD 用户对象。
下面是尝试使用 -LDAPFilter
和 -ge
、-lt
、-gt
时的错误快照,
This 似乎是一个相关的 post。但是,我在那里找不到可行的解决方案,并且当尝试将 !
(非运算符)与 -le
一起使用时(使 -gt
生效),还是收到超时异常。我也试过将 -ResultPageSize
值减少到 5,仍然没有成功 - 超时错误被抛出。
我想在服务器端进行过滤,因为目录很大并且检索所有对象然后在客户端进行过滤效率不是很高。 非常感谢任何建议或解决方法。谢谢。
PowerShell 使用 属性 Created
.
whenCreated
属性从 UTC 的 GeneralizedTime 格式转换为本地日期时间
我目前无法对此进行测试,但其中任何一个都应该有效:
# define the start and end dates (Local time)
$startDate = (Get-Date -Year 2021 -Month 1 -Day 14).Date # discard the time part, so set to midnight
$endDate = (Get-Date).Date
尝试:
Get-ADUser -Filter "Created -gt $startDate -and Created -le $endDate"
或之后使用 Where-Object
子句过滤:
Get-ADUser -Filter * -Properties Created | Where-Object { $_.Created -gt $startDate -and $_.Created -le $endDate }