I am trying to run a GET-ADComputer cmdlet against certain OU’s and what I want to do is exclude certain OU’s from being scanned. Below is the code I have complied at the moment.
Wouldn’t it be faster to put those {(($.operatingsystem -match ‘Windows Server*’) -and ($.DistinguishedName -notlike “*OU=Backups,OU=IOU,OU=Servers,OU=ACE3,OU=CH,OU=ACE,DC=contoso,DC=com”) -and ($_.DistinguishedName -notlike “*OU=Nonprod,OU=Mgt,OU=Servers,OU=ACE4,OU=CH,OU=ACE,DC=contoso,DC=com”))} into the -filter instead of where? Instead of first getting all computer objects and then selecting needed with where, just filter out only wanted in the first place.
Also do not use wildcard in properties if you are selecting only DNSHostName. The wildcard is pulling everything from the object and then just limiting it to selected. It will be much faster just adding needed values to properties if needed more than the default gives to you. Also not a big fan of those += combinations…