MSDNでs のクールなプロパティとメソッドについて聞いたときPSObject、それらを試してみるのはクールだろうと思いました。
それが私がやったことです:
まず、型の新しいインスタンスを作成しましたPSObject。
次に、 Get-Memberを使用してこれらすべてのクールなメンバーを探しました(しかし、それらは存在しませんでした)。
PS .> $plainObj = New-Object PSObject
PS .> $plainObj | Get-Member
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
問題:
BaseObjectプロパティもメソッドもありませんAsPSObject()。かっこいいメンバーが全員いない。しかし、なぜ?
Get-Member は、オブジェクトの種類がではなく( TypeName) であることを教えてくれます。そして、これらすべてのクールなメンバーがいるわけではありません。PSCustomObjectPSObjectPSCustomObject
しかし、私は一種になりたいのではなく$plainObj、一種PSCustomObjectになりたいのですPSObject。
私の質問:
atとして明示的に使用したのに、なぜ
$plainObja のようなものなのですか? 何か案が?PSCustomObjectPSObject-TypeName$plainObj New-Object PSObjectどうすれば一種ではなく
$plainObj一種になることができますか?PSObjectPSCustomObject
@RussCあなたのスクリプトを使用しても-それが結果です:
PS .> $plainObj = New-Object PSObject -property @{ title = 'fridojet' }; $plainObj | Add-Member -MemberType NoteProperty -Name Colour -Value Blue PS .> $plainobj | Get-Member TypeName: System.Management.Automation.PSCustomObject Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Colour NoteProperty System.String Colour=Blue title NoteProperty System.String title=fridojet
@RussC今、私は一種ではないオブジェクトを作成することができました
PSCustomObject:PS .> New-Object Objectしかし、それでも、
PSObject(BaseObjectプロパティなどを使用して)を作成することはできません。PS .> [PSObject]::AsPSObject((New-Object Object)) | Get-Member TypeName: System.Object Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString()