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 email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.