我在Powershell中有一個由對象內的對象組成的信息數組。它深入4個物體。有沒有辦法從最底層的對象中選擇一個屬性,同時保持在頂層?這是否有道理我在問什麼?從對象中選擇對象
$result
active : active
security : @{waf=; acls=}
sealloaction :
siteDualFactorSettings : @{enabled=False; version=0}
login_protect : @{enabled=False; url_patterns=System.Object[]}
performance_configuration : @{advanced_caching_rules=; acceleration_level=standard; cache300x=False; cache_headers=System.Object[]}
$result.security
waf acls
--- ----
@{rules=System.Object[]} @{rules=System.Object[]}
$result.security.waf
rules
-----
{@{action=api.threats.action.block_request; action_text=Block; id=api.threats.sql_injection; name=SQL Injection}, @{action=api.threats.action.alert; action_text=Alert Only;}
@wOxxOm作出這樣的一個答案。添加一些關於發生了什麼的解釋。我猜'Where {...}'只是'%{if(...){$ _}}'的語法糖嗎? – Patrick87
@wOxxOm我們變暖了!我不得不將它更改爲'$ results |選擇域,@ {N ='規則'; E = {($ _。security.waf.rules)}}' 這給了我一些東西: 'domain:domain.name.com rules:{@action=api.threats.action.block .....以及更多} 基本上,我仍然需要擴展該屬性,但是如果不擴展其他屬性並且域不可擴展,則無法擴展它。 – T4RH33L
'$ result | %{$ domain = $ _。domain; $ _。security.waf.rules |選擇*,@ {N ='域'; E = {$ domain}}}' – wOxxOm