przez kilka lat używałem skryptu do wyszukiwania kont, które nie są już używane. jest w nim taki fragment:
# Get the current date
$currentDate = [System.DateTime]::Now
# Convert the local time to UTC format because all dates are expressed in UTC (GMT) format in Active Directory
$currentDateUtc = $currentDate.ToUniversalTime()
$lastLogonTimeStampLimit = $currentDateUtc.AddDays(-$MAXUSERIDLE)
$lastLogonIntervalLimit = $lastLogonTimeStampLimit.ToFileTime()

$searcher.Filter = "( &(objectCategory=person)(objectClass=user)(lastLogonTimeStamp< =$lastLogonIntervalLimit) )" $results=$searcher.findall()
i nagle, po tych kilq latach ktoś mi mówi - "ty, ale tu nie ma kont, które się w ogóle nie logowały"
UPS! /:
faktycznie - w takim wypadku lastLogonTimeStamp jest nullem a więc porównanie nie udaje się... poprawny filtr:
$searcher.Filter = "(&(objectCategory=person)(objectClass=user)(|(lastLogonTimeStamp< =$lastLogonIntervalLimit)(!lastLogonTimeStamp=*)))"

huh. jak ktoś chce cały skrypt - pisać.

eN.

Spread the love

Comments (7)

  1. Odpowiedz

    @ferdydek: dzięki, oblookam te narzędzia (: na pierwszy rzut oka bardzo obiecujące!
    tak czy inaczej – na koniec musisz coś z tymi danymi zrobić. jestem zwolennikiem własnych skryptów bo możesz je potem dowolnie modyfikować i automatyzować – w pełni kontrolujesz output i tak dalej. nie lubię mieszanych rozwiązań, gdzie korzysta się z kilq różnych narzędzi bo skryptowanie sprowadza się wtedy do parsowania cudzego outputu zamiast sqpić się na logice działania.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.