You’re not following the logic.
First, it’s Get-ChildItem, not “get-children.” That’s important.
Get-Alias dir
Returns output because there is an alias, Dir. That output is an object, and it has a Name property.
Get-Alias dir | where name -eq 'dir'
Works because Where-Object is getting input.
Get-Alias Get-ChildItem
Returns NO OUTPUT because there is no alias named Get-ChildItem. Get-ChildItem is a command, not an alias. Therefore,
Get-Alias Get-ChildItem | Where Name -eq Get-ChildItem
Also returns no output, because Where-Object had no input.
Get-Alias dir | Out-String | Where name -eq 'dir'
Returns no output, because the input to Out-String was converted from an object to a simple string of text. Strings of text don’t have “name” properties. Out-String is what’s breaking that example. Similarly,
And no,
dir -> Get-ChildItem
Is not “the output of name.” Run this:
Get-Alias -name dir | Select -Property *
And you will see what the “name” property contains. That example will show you all of the properties of the object output by Get-Alias.
I think you might not be entirely understanding some of the fundamental bits about how the shell works, which is what makes it more confusing perhaps. The Format and Out commands in particular can be confusing because it is not always obvious that they are doing something different. It might be worth your time to watch some of the videos on youtube.com/powershelldon, to get a better idea of those fundamentals.