2010-05-16 29 views
3

我有一個聲明「New-Object -com Indesign.Application.Cs5 | Get-Member」 它按預期的方式工作在頂層。POWERSHELL; Com對象的遞歸Get-Member

如何遞歸整個對象樹並以可讀/電子表格格式(如果可能)輸出結果。

回答

3

內置的方式做,這是使用格式自定義,像這樣:

Get-Process -id $pid | Format-Custom -Property * -Depth 4 

如果你想遞歸更深我認爲你需要中將$ FormatEnumerationLimit(默認的缺省值一下子提高到4 )。不過要小心,我曾經將它撞到100,在某些情況下使用fc時,PowerShell似乎會掛起。它或者陷入了一個循環(可能不是),或者手術只是比我願意等待更長的時間。 BTW以上的短版:

$FormatEnumerationLimit = 10 
gps -id $pid | fc * -dep 10 
+0

謝謝基思,我不是PowerShell的saavy至今,能否請您使用佈局「Indesign.Application.Cs5」作爲COM對象的完整代碼。 再次感謝 – Zion 2010-05-17 01:27:46

+0

試試這個:'New-Object -com Indesign.Application.Cs5 |格式 - 自定義* -Depth 2'。根據需要調整深度,但請注意,所需時間可能會隨深度增加而顯着增加。 – 2010-05-17 04:31:50