I’ve tried to find answer to my question but without luck. I’m digging into powershell types etc. and I’m trying to understand how those works in Powershell. Right now I’m checking different command types and some of commands have type like:
Command Parameter Type ------- --------- ---- Format-Xml InputObject System.Management.Automation.PSObject Get-TypeInfo InputObject System.Management.Automation.PSObject Get-TypeName InputObject System.Management.Automation.PSObject Write-ErrorString InputObject System.Management.Automation.PSObject
Command Parameter Type ------- --------- ---- Update-Manifest Value System.Object ConvertFrom-Metadata InputObject System.Object Export-Configuration InputObject System.Object
Could anybody explain to me why some of commands have type System.Object and some other are PSObject? I know that PSObject is like child to System.Object and it is special kind of type for Powershell and almost everything in PS is PSObject but I see many commands that are System.Object so why not System.Management.Automation.PSObject?
What’s the difference here?