Active Directory에서 지난 21 일 동안 비활성 계정을 가져 오는 스크립트 작업을하고 있습니다.gt/ge 연산자가 powershell 함수의 where-object와 작동하지 않습니다.
Search-ADAccount -AccountInactive -TimeSpan 21
을하지만 불행하게도이 누구 LastLogonDate
21 일 창보다 오래된 경우에도 해당 계정을 반환
나는 이것에 대한 간단한 명령이 있다는 것을 알고있다. 그래서 나는 다음과 같은 명령을 사용하여 LastLogonDate
속성을 기준으로 레코드를 필터링하기로 결정이 잘 작동
$TimeSpan = 21
[DateTime]$date = (Get-Date).AddDays(-$TimeSpan)
$DistinguishedName = "OU=TestOU,DC=Test,DC=local"
$InactiveAccounts = Search-ADAccount -AccountInactive -TimeSpan 21 -SearchBase $DistinguishedName | where-object {$_.LastLogonDate -ge $date}
return $InactiveAccounts
. 그러나이 코드를 함수 안에 포함하고 필요한 매개 변수를 사용하여 함수를 호출하면 아무 것도 반환하지 않습니다. 반면에 ge
을 le
으로 바꾸면 제대로 작동합니다. gt
또는 ge
이 작동하지 않는 이유를 모릅니다.
당신이 이십일일 다음 세 이하 LastLogonDate''모든 계정을 얻을 하시겠습니까? –
마지막 21 일 동안 모든 비활성 계정을 원하므로 lastlogondate는 지난 21 일의 시간 경과 기간 내에 있어야합니다. – Meenakshi