Look at this sequence of commands below and the results using powershell.exe v3.
Why does adding the -force parameter to that last command make it display the NoteProperties ?
And, why is the value of the Length property 75 ?
<#c:#> $profile C:\Users\Larry\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1<#c:#> $profile.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object <#c:#> $profile | gm -membertype *prop* TypeName: System.String Name MemberType Definition ---- ---------- ---------- AllUsersAllHosts NoteProperty System.String AllUsersAllHosts=C:\Windows\System32\WindowsPow... AllUsersCurrentHost NoteProperty System.String AllUsersCurrentHost=C:\Windows\System32\Windows... CurrentUserAllHosts NoteProperty System.String CurrentUserAllHosts=C:\Users\Larry\Documents\Wi... CurrentUserCurrentHost NoteProperty System.String CurrentUserCurrentHost=C:\Users\Larry\Documents... Chars ParameterizedProperty char Chars(int index) {get;} Length Property int Length {get;} <#c:#> $profile | Format-List * C:\Users\Larry\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1<#c:#> $profile | Format-List * -force AllUsersAllHosts : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 AllUsersCurrentHost : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1 CurrentUserAllHosts : C:\Users\Larry\Documents\WindowsPowerShell\profile.ps1 CurrentUserCurrentHost : C:\Users\Larry\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 Length : 75 <#c:#>