我正在使用以下单行程序来获取未被禁用且帐户过期的用户列表,其中包含一些属性:
Get-ADUser -Filter {(Enabled -eq $true) -and (accountExpires -ne 0)} -Properties name, mail, c, physicalDeliveryOfficeName, telephoneNumber, manager, title, description | select-object name, mail, c, physicalDeliveryOfficeName, telephoneNumber, manager, title, description
它有效,除了它抓住我域中的每个人,而不仅仅是那些帐户过期的人。为什么忽略脚本的accountExpires部分?
答案 0 :(得分:2)
错误结果的原因是您错误的假设,即每个未过期的帐户在accountExpires
属性中的值为0。在我的测试中仅适用于管理员。
其他每个帐户都有[int64]::MaxValue
- 因此您需要在过滤器中包含此内容:
$Max = [int64]::MaxValue
Get-ADUser -Filter {
(Enabled -eq $true) -and
(accountExpires -ne 0) -and
(accountExpires -ne $Max)
}