5

コマンドレットの-expandパラメータに問題があります。展開されたプロパティやその他のプロパティを出力select-objectできることはヘルプ ファイルから理解できますが、私の場合はうまくいかないようです。select-object

ヘルプ ファイルの例に従うと、次のように動作します。

PS> Get-Process | select-object Name -expand Modules | fl
Name              : chrome
ModuleName        : chrome.exe
FileName          : C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
BaseAddress       : 10682368
ModuleMemorySize  : 868352
EntryPointAddress : 10980160
FileVersionInfo   : File:             C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
                InternalName:     chrome_exe
                OriginalFilename: chrome.exe
                FileVersion:      28.0.1500.72
...

私が欲しいもののために同じことをしようとしてもうまくいきません:

PS> Get-WmiObject Win32_ComputerSystem | select -Property __CLASS,__SUPERCLASS,__DYNASTY -expand __DERIVATION | fl
CIM_UnitaryComputerSystem
CIM_ComputerSystem
CIM_System
CIM_LogicalElement
CIM_ManagedSystemElement

ご覧のとおり、展開されたプロパティの内容のみが表示されます。他のすべてはスキップされます。

プロパティを展開しない場合の出力は次のとおりです。

PS> Get-WmiObject Win32_ComputerSystem | select -Property __CLASS,__SUPERCLASS,__DYNASTY,__DERIVATION | fl


__CLASS      : Win32_ComputerSystem
__SUPERCLASS : CIM_UnitaryComputerSystem
__DYNASTY    : CIM_ManagedSystemElement
__DERIVATION : {CIM_UnitaryComputerSystem, CIM_ComputerSystem, CIM_System, CIM_LogicalElement...}

私が間違っている可能性があること、またはこれが機能しない理由について何か提案はありますか?

ありがとう、ラケシュ

4

1 に答える 1

8

それは設計によるものです。カスタム プロパティが必要です。これを試して:

Get-WmiObject Win32_ComputerSystem |
 select __CLASS,__SUPERCLASS,__DYNASTY,@{n="__DERIVATION";e={($_ | select -expa __DERIVATION) -join ',' }}| fl *
于 2013-07-23T11:28:11.867 に答える