You could choose a somewhat clearer approach .... something like this
$Array1 = @(
Get-Process |
Sort-Object -Property WS -Descending |
Select-Object -First 10 |
Select-Object -Property ProcessName,ID
)
$Array2 = @(
Get-WmiObject -Class win32_service -Filter "Pathname like '%svchost%'" |
Where-Object { $_.state -eq 'running' } |
Select-Object -Property @{Name='ID';Expression={$_.ProcessID}}, Name
)
Compare-Object -ReferenceObject $Array1 -DifferenceObject $Array2 -Property ID -IncludeEqual -PassThru
... and please format your code as code. Thanks
Best regards,
(79,108,97,102|%{[char]$_})-join''