function Get-Users-From-ActiveDirectory([string]$domaincnx) { $returnValue = $false #Filter on User which exists and activated $strFilter = "(&(objectCategory=user)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))" #Filter on User which only exists #$strFilter = "(&(objectCategory=user)(objectClass=user))" $objDomain = New-Object System.DirectoryServices.DirectoryEntry($domaincnx)
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.PageSize = 10000 $objSearcher.Filter = $strFilter $objSearcher.SearchScope = "Subtree"
$colProplist = "name","samaccountname","objectsid","displayname","mail","company","physicaldeliveryofficename","postofficebox","streetaddress","telephonenumber","postalcode","l","c","memberof" foreach ($i in $colPropList) { $objSearcher.PropertiesToLoad.Add($i)|out-null } $colResults = $objSearcher.FindAll()
if($colResults.Count -gt 0) { Write-Host "User Accounts: ", $colResults.Count foreach($user in $colResults) { Write-Host "--------------------------------- " Write-host "sAMAccountName:", $user.Properties.samaccountname Write-host "User Name:", $user.Properties.name Write-host "SID:", $user.Properties.objectsid Write-host "Display name:", $user.Properties.displayname Write-host "Mail:", $user.Properties.mail Write-host "Company:", $user.Properties.company Write-host "physicalDeliveryOfficeName:", $user.Properties.physicaldeliveryofficename Write-host "postOfficeBox:", $user.Properties.postofficebox Write-host "streetAddress:", $user.Properties.streetaddress Write-host "telephoneNumber:", $user.Properties.telephonenumber Write-host "PostalCode:", $user.Properties.postalcode Write-host "l:", $user.Properties.l Write-host "c:", $user.Properties.c Write-Host "--------------------------------- "
$groups = $prop.memberof foreach ($mygroup in $groups) { $strGroup = $mygroup.split(',')[0] $strGroup = $strGroup.split('=')[1] Write-host "Group:", $strGroup } Write-Host "--------------------------------- " } Write-Host "User Accounts: ", $colResults.Count } }
cls
Get-Users-From-ActiveDirectory "LDAP://DC=myDomain,DC=com"
|