$pattern = '*john*'
Get-ADUser -Identity John -Properties * | ForEach-Object {
$adUser = $_
$adUser.psobject.Properties |
Where-Object {$_.BaseObject -and ($adUser.($_.Name) -like $pattern)} |
Select-Object -Property @{n='SamAccountName'; e={$adUser.SamAccountName}}, Name, Value
} | Sort-Object -Property SamAccountName, Name
$pattern = '*John*'
Get-ADObject -Filter * -Properties * | ForEach-Object {
$adobject = $_
$adobject.psobject.Properties |
Where-Object {$_.BaseObject -and ($adobject.($_.Name) -like $pattern)} |
Select-Object -Property @{n='SamAccountName'; e={$adobject.SamAccountName}},
@{n='Type'; e={$adobject.ObjectClass}},
Name, Value
} | Sort-Object -Property SamAccountName, Name
For example
Get-aduser -filter {(Name -like "*John*")}
or
Get-aduser -filter {(GivenName -like "*John*")}
You wouldn't for example use something like
Get-aduser -filter {(lastlogondate -like "*John*")}
since the last logon date is a, well, date... As such it wouldn't return an object.