kilqkrotnie miałem problem – przychodzi ktoś i żąda żeby zrobić coś z kontem, którego email to …. chodzi o to, że czasem był to email, czasem alias – generalnie nie ma standardowego searcha, który potrafi to zrobić. otóż i skrypcik:

if($args.count -ne 1) {
    echo podaj parametr
    return
}

$searcher = New-Object DirectoryServices.DirectorySearcher([ADSI]"")

$searcher.filter = "(|(objectClass=user)(objectClass=group))"
$searcher.searchscope="Subtree"
$searcher.PropertiesToLoad.add("proxyaddresses")
$searcher.PropertiesToLoad.add("mailnickname")
$searcher.PropertiesToLoad.add("mail")
$searcher.PropertiesToLoad.add("samaccountname")
$results=$searcher.findall()

foreach($r in $results) {
    $prop=$r.properties
    if($prop.proxyaddresses) {
        $pa= ([string]($prop.proxyaddresses)).tolower()
        if($pa.contains($args[0]) ) {
            echo "$($prop.samaccountname) -> $($prop.proxyaddresses)"
        }
    }
    if($prop.mail) {
        $pa= ([string]($prop.mail)).tolower()
        if($pa.contains($args[0]) ) {
            echo "$($prop.samaccountname) -> $($prop.mail)"
        }
    }
    if($prop.mailnickname) {
        $pa= ([string]($prop.mailnickname)).tolower()
        if($pa.contains($args[0]) ) {
            echo "$($prop.samaccountname) -> $($prop.mailnickname)"
        }
    }
}
echo "done."

pozostaje jeszcze jeden problem… foldery publiczne, które też mogą mieć email…

eN.

Spread the love

Comments (3)

  1. nExoR

    Odpowiedz

    gibon: wyglada smacznie. bede musial potestowac.

    tak na prawde to i tak wszystko dupa – usiedlismy z domelem i zaczelismy zastanawiac sie co jeszcze moze miec addr email i tych obiektow jest troche – mi. np przydaloby sie dodanie wyszukiwania po folderach publicznych, co z innymi obiektami np. w SCCM/SCOM?
    jak sie nie ma dostepu do traceingu od strony serwera to nie latwo wyszukac gdzie zarejestrowany jest email ):

Pozostaw odpowiedź WaSyL Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.