script to search for all windows 2008 standard or Enterprise servers


what command can use search domain 2008 standard or enterprise servers?

in powershell v1 can use directorysearcher , filter on computers operatingsystem attribute includes string "2008". example:

 

$d = [system.directoryservices.activedirectory.domain]::getcurrentdomain()
$domain = [adsi]"ldap://$d"
$searcher = new-object system.directoryservices.directorysearcher
$searcher.pagesize = 200
$searcher.searchscope = "subtree"
$searcher.propertiestoload.add("samaccountname") > $null
$searcher.propertiestoload.add("distinguishedname") > $null
$searcher.searchroot = "ldap://" + $domain.distinguishedname
# filter on computers string "2008" in operatingsystem attribute.
$searcher.filter = "(&(objectcategory=computer)(operatingsystem=*2008*))"

$results = $searcher.findall()

foreach ($result in $results)
{
    $computer = $result.properties.item("samaccountname")
    # remove trailing "$" character.
    $computer = $computer.item(0)
    $computer = $computer.remove($computer.length - 1)
    $dn = $result.properties.item("distinguishedname")
    "$dn ($computer)"
}

 

in powershell v2 ad cmdlets, can use similar ldap filter get-adcomputer. example:

 

get-adcomputer -ldapfilter "(operatingsystem=*2008*)"

 


richard mueller - mvp directory services


Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

Edit Group Policy

Hyper-V VM not reaching OS 'Logon' screen

DNS question...