Powershell查找7天内过期的用户

2024-04-20

我正在尝试运行一个 powershell 脚本来查询 7 天内过期的帐户,我目前有

$a = (获取日期).AddDays(7) ;搜索 ADAccount -AccountExpiring -时间跨度“7” |选择对象 SamAccountName、AccountExpirationDate |排序对象 AccountExpirationDate |导出-CSV 7_days.csv

然而,当我进行以下更改时,似乎遇到了一些麻烦,最终得到了一个空的 CSV 文件。最终我希望帐户在 7 天后到期,不多也不少。

$a = (获取日期).AddDays(7) ;搜索 ADAccount -AccountExpiring -时间跨度“7” |选择对象 SamAccountName、AccountExpirationDate |排序对象 AccountExpirationDate |地点对象 {$_.AccountExpirationDate -类似 $a } |导出-CSV 7_days.csv

有人可以让我知道我做错了什么吗?我尝试过移动“Where-Object {$_.AccountExpirationDate -like $a }”部分,或“-match”而不是“-like”,但是这些并没有给我带来太大的成功。我这哪里出错了?


更新:如果传递字符串值,则可以获取帐户,传递整数会将时间跨度初始化为 7 个刻度!

Search-ADAccount -AccountExpiring -TimeSpan "7"

其他有效选项:

Search-ADAccount -AccountExpiring -TimeSpan (New-TimeSpan -Days 7)
Search-ADAccount -AccountExpiring -TimeSpan ([TimeSpan]::FromDays(7))

可能是一个错误,它对我也不起作用。这是一个解决方法:

$NeverExpires = 9223372036854775807
$ExpringIn = (Get-Date).AddDays(7) 

Get-ADUser -Filter * -Properties accountExpires | 
Where-Object {$_.accountExpires -ne $NeverExpires  -and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -lt $ExpringIn }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell查找7天内过期的用户 的相关文章

随机推荐