I've raised a support case for this, but thought I would also ask here in case someone has a fix.
I've been trying to work out why some queries cause high CPU consumption for the ARS service and sometimes cause it to max out at 100%, it's happening for a fairly simple queries and I've noticed that the ARS adsi provider returns many attributes even though I haven't specified any of them.
The following code returns 20 attributes that haven't been defined in PropertiesToLoad, only userPrincipalName and adspath should be included.
$searcher = [adsisearcher]"(&(sAMAccountType=805306368)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
$searcher.SearchRoot = "EDMS://DC=somewhere,DC=local"
$searcher.PropertyNamesOnly = $true
$properties = @(
'userPrincipalName'
)
foreach ($prop in $properties) {
[void]$searcher.PropertiesToLoad.Add($prop)
}
$searcher.findall()[0].Properties
If I use LDAP instead of EDMS, I get just the attribute defined in PropertiesToLoad:
$searcher = [adsisearcher]"(&(sAMAccountType=805306368)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
$searcher.SearchRoot = "LDAP://DC=somewhere,DC=local"
$searcher.PropertyNamesOnly = $true
$properties = @(
'userPrincipalName'
)
foreach ($prop in $properties) {
[void]$searcher.PropertiesToLoad.Add($prop)
}
$searcher.findall()[0].Properties
We are using ARS 8.1.3.
Has anyone else come across this before? Is there a known fix?