你好,
我们从每天运行的导入脚本中获取AD用户,如果在csv中找到用户,则以“dd-MM-yyyy”格式在extensionattribute 1中写入当前日期。现在,如果AD用户在extensionattribute 1中具有不同的日期(减去90天),则我们希望通知其管理员应如何处理这些帐户。
有趣的是,与我的查询,我们得到正确的用户和一些用户之间的30至90天.我不知道什么是错误的,在我的代码或语法-有人能请帮助?谢谢
对不起,我现在还不是PowerShell Pro,但正在处理它:D问候语
# get date -90 Days
$date = (Get-Date).AddDays(-90).ToString("dd-MM-yyyy")
$date
# it gets "27-08-2022" -> so the script should only show users less than this date
# query for extensionattribute1 less than 90 days
get-aduser -properties ExtensionAttribute1 -filter {(enabled -eq "true") -and (extensionAttribute1 -gt $date)}
# here the output is partial correct, we get users with an extensionattribute1 from
# 31-05-2022
# 30-06-2022
# 29-07-2022
# but also some Users with a date from between 30 and 90 days what is incorrect =/
# 30-09-2022
# 31-10-2022
1条答案
按热度按时间a64a0gku1#
您不应该相互比较datestrings,尤其是当您使用日期格式
"dd-MM-yyyy"
时,因为这是一种不可排序的日期格式。(如果您使用格式'yyyy-MM-dd',则可能不会发生这种情况。)而是先将在
ExtensionAttribute1
中找到的值转换为DateTime对象,然后将其与真实的引用的DateTime对象进行比较。尝试