我嘗試從我的 DC 用戶串列中提取上次更改密碼的內容,并將此日期與當前日期進行比較。測驗 6 個月前 10 天是否通過我的測驗“如果不起作用,我認為存在格式日期問題但我不知道。你能幫我嗎?
$users = Get-ADGroupMember -Identity "GROUP" -Recursive |
Get-ADUser -Properties SamAccountName,Mail,PasswordLastSet |
Select-Object Name,SamAccountName,Mail,PasswordLastSet
foreach ($user in $users)
{
if ( Get-Date.addDays(-10) -gt $($user.PasswordLastSet).AddDays(180) )
{
Write-Output $($user.SamAccountName) $($user.PasswordLastSet)
}
}
uj5u.com熱心網友回復:
Get-Date.addDays(-10)是錯誤的,應該是(Get-Date).AddDays(-10)。
我還建議通過使用來洗掉時間部分,(Get-Date).AddDays(-10).Date以便有效地將該參考日期設定為午夜。
該Select-Object Name,SamAccountName,Mail,PasswordLastSet是在這種情況下,多余的。
嘗試這樣的事情:
$refDate = (get-Date).AddDays(-10).Date
# Get-ADGroupMember can return users, groups, and computers.
$users = Get-ADGroupMember -Identity "GROUP" -Recursive |
Where-Object { $_.objectClass -eq 'user' } |
Get-ADUser -Properties EmailAddress, PasswordNotRequired, PasswordLastSet
foreach ($user in $users) {
if (!$user.PasswordNotRequired) { # some users may not need to have a password?
if ($refDate -gt $user.PasswordLastSet.AddDays(180)) {
Write-Output "$($user.SamAccountName) $($user.PasswordLastSet) $($user.EmailAddress)"
}
}
}
uj5u.com熱心網友回復:
太好了,它可以作業,但出現錯誤,但我認為這是因為 user.passewordLastSet
$refDate = (Get-Date).AddDays(-10).Date
$users = Get-ADGroupMember -Identity "GROUP" -Recursive |
Get-ADUser -Properties EmailAddress, PasswordNotRequired, PasswordLastSet
foreach ($user in $users) {
if (!$user.PasswordNotRequired) { # some users may not need to have a password?
if ($user.PasswordLastSet) {
if ($refDate -gt $user.PasswordLastSet.AddDays(180)) {
Write-Output "$($user.SamAccountName) $($user.PasswordLastSet) $($user.EmailAddress)"
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384890.html
