Sample script that searches Active Directory for all computers that have logged on to a domain controller at least once. The logonCount attribute is not replicated to the Global Catalog; you cannot connect to a Global Catalog server and search across the forest for computers that have logged on a specified number of times. Note that this attribute is not replicated within a domain, either. To determine the number of times a computer has logged on, you will have to retrieve this value from each domain controller.
$strFilter = "(&(objectCategory=Computer)(logonCount>=1))" $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.PageSize = 1000 $objSearcher.Filter = $strFilter $colProplist = "name" foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)} $colResults = $objSearcher.FindAll() foreach ($objResult in $colResults) {$objItem = $objResult.Properties; $objItem.name}
$strFilter = "(&(objectCategory=Computer)(logonCount>=1))" $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.PageSize = 1000 $objSearcher.Filter = $strFilter $colProplist = "name" foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)} $colResults = $objSearcher.FindAll() foreach ($objResult in $colResults) {$objItem = $objResult.Properties; $objItem.name}