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.
WaSyL
Tomek
nExoR