prosty search po obiektach w AD, które mają włączoną flagę niewygasania hasła:
$searcher = New-Object DirectoryServices.DirectorySearcher([ADSI]"LDAP://OU=PL,OU=Country,DC=domain,DC=test") $searcher.filter = "(&(objectCategory=User)(userAccountControl:1.2.840.113556.1.4.803:=65536))" $searcher.propertiesToLoad.add("sAMAccountName") $searcher.propertiesToLoad.add("displayname") $searcher.propertiesToLoad.add("sn") $searcher.propertiesToLoad.add("distinguishedname") $s=$searcher.findall() echo ************************* foreach($a in $s) { $i=$a.Properties echo "[$($i.sAMAccountname)] , $($i.displayName) , $($i.sn), $($i.distinguishedName)" }
i okazuje się, ze na ekranie pustka… wyświetlają się tylko pola ‘sn’. WTF?
problemem jest pedanteria i używanie małych/wielkich znaków – okazuje się, że PS przyjmuje wyłącznie małe literki:
echo "[$($i.samaccountname)] , $($i.displayname) , $($i.sn), $($i.distinguishedname)"
pffff…
eN.
Tomek
nExoR