質問:データを選択するのに苦労している、明らかに単純なPowerShellシステムオブジェクトがあります。誰かがこのオブジェクトのフィールドを選択/展開する方法を説明するのを手伝ってもらえますか?
より詳しい情報:
を使用してExchangeOnline環境からオブジェクト(パブリックフォルダー)を選択しました
Get-MailPublicfolder
これで、オブジェクトは変数$ pfに格納されます
$pf.getType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True ArrayList System.Object
私がこれをするとき
$pf | fl *
次の出力が得られます
EmailAddressPolicyEnabled : False
PrimarySmtpAddress : [email protected]
RecipientType : PublicFolder
RecipientTypeDetails : PublicFolder
DisplayName : Metro West
等々。
しかし、私がこれを行うと
$pf.displayName
または
$pf | select displayName
何も返ってこない
私がこれをするとき
$pf | select *
ClassId2e4f51ef21dd47e99d3c952918aff9cd : 033ecb2bc07a4d43b5ef94ed5a35d280
pageHeaderEntry :
pageFooterEntry :
autosizeInfo :
shapeInfo : Microsoft.PowerShell.Commands.Internal.Format.ListViewHeaderInfo
groupingEntry :
ClassId2e4f51ef21dd47e99d3c952918aff9cd : 9e210fe47d09416682b841769c78b8a3
shapeInfo :
groupingEntry :
ClassId2e4f51ef21dd47e99d3c952918aff9cd : 27c87ef9bbda4f709f6b4002fa4af63c
formatEntryInfo : Microsoft.PowerShell.Commands.Internal.Format.ListViewEntry
outOfBand : False
writeStream : None
ClassId2e4f51ef21dd47e99d3c952918aff9cd : 4ec4f0187cb04f4cb6973460dfe252df
groupingEntry :
ClassId2e4f51ef21dd47e99d3c952918aff9cd : cf522b78d86c486691226b40aa69e95c
groupingEntry :
この
$pf | gm
TypeName: Microsoft.PowerShell.Commands.Internal.Format.FormatStartData
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
autosizeInfo Property Microsoft.PowerShell.Commands.Internal.Format.AutosizeInfo, System.Managem...
ClassId2e4f51ef21dd47e99d3c952918aff9cd Property string ClassId2e4f51ef21dd47e99d3c952918aff9cd {get;}
groupingEntry Property Microsoft.PowerShell.Commands.Internal.Format.GroupingEntry, System.Manage...
pageFooterEntry Property Microsoft.PowerShell.Commands.Internal.Format.PageFooterEntry, System.Mana...
pageHeaderEntry Property Microsoft.PowerShell.Commands.Internal.Format.PageHeaderEntry, System.Mana...
shapeInfo Property Microsoft.PowerShell.Commands.Internal.Format.ShapeInfo, System.Management...
TypeName: Microsoft.PowerShell.Commands.Internal.Format.GroupStartData
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
ClassId2e4f51ef21dd47e99d3c952918aff9cd Property string ClassId2e4f51ef21dd47e99d3c952918aff9cd {get;}
groupingEntry Property Microsoft.PowerShell.Commands.Internal.Format.GroupingEntry, System.Manage...
shapeInfo Property Microsoft.PowerShell.Commands.Internal.Format.ShapeInfo, System.Management...
TypeName: Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
ClassId2e4f51ef21dd47e99d3c952918aff9cd Property string ClassId2e4f51ef21dd47e99d3c952918aff9cd {get;}
formatEntryInfo Property Microsoft.PowerShell.Commands.Internal.Format.FormatEntryInfo, System.Mana...
outOfBand Property bool outOfBand {get;set;}
writeStream Property Microsoft.PowerShell.Commands.Internal.Format.WriteStreamType, System.Mana...
TypeName: Microsoft.PowerShell.Commands.Internal.Format.GroupEndData
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
ClassId2e4f51ef21dd47e99d3c952918aff9cd Property string ClassId2e4f51ef21dd47e99d3c952918aff9cd {get;}
groupingEntry Property Microsoft.PowerShell.Commands.Internal.Format.GroupingEntry, System.Manage...
TypeName: Microsoft.PowerShell.Commands.Internal.Format.FormatEndData
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
ClassId2e4f51ef21dd47e99d3c952918aff9cd Property string ClassId2e4f51ef21dd47e99d3c952918aff9cd {get;}
groupingEntry Property Microsoft.PowerShell.Commands.Internal.Format.GroupingEntry, System.Manage...
これを行う:
$pf = Get-MailPublicfolder
これをしないでください:
$pf = Get-MailPublicfolder | fl
# or
$pf = Get-MailPublicfolder | Format-List
どうして?結果をFormat-List
に渡すと、Get-MailPublicfolder
によって返されるMailPublicFolder
ではなく、フォーマットされた文字列オブジェクトになります。そのため、gm
を実行しているときにこれらのメンバーが表示されます。
これを行うことでアウトかどうかをテストでき、このオブジェクトには同じメンバーが含まれます
$a = Get-ChildItem | Format-List
$a | Get-Member