lac.fi

Notes to self
› PowerShell: List computers in domain

Finds all active computer account objects under a root path. This example searches the domainname.local domain root.

$Root = "LDAP://DC=domainname,DC=local"

$objDomain = New-Object System.DirectoryServices.DirectoryEntry($Root)
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = "(objectCategory=Computer)"
$objSearcher.SearchScope = "Subtree"

$colProplist = "name", "distinguishedname"
foreach ($s in $colProplist) { $objSearcher.PropertiesToLoad.Add($s) | out-null }

$colResults = $objSearcher.FindAll()
Write-Host "Found $($colResults.count) computer(s)"
foreach ($objResult in $colResults) {
	$objItem = $objResult.Properties

	$objComputer = [ADSI]"LDAP://$($objItem.distinguishedname)"
	If (!$objComputer.PsBase.InvokeGet("AccountDisabled")) {
		Write-Host $objItem.name
	}
}