CanonicalName - вычисляемый атрибут (constructed attribute), такие атрибуты не хранятся явным образом в AD, а вычисляются на лету при получении соответствующих запросов. Соответственно, не могут напрямую использоваться в фильтрах и запросах.
Ваш запрос должен выглядеть примерно так:
Get-ADUser -Filter "(saMAccountName -notlike '*off_user*') -or (saMAccountName -notlike '*service*')" -Properties CN,CanonicalName | where{$_.distinguishedname -notmatch "exOU1|exOU2|exOU3"} | ft CN,CanonicalName -auto