gpt4 book ai didi

powershell - 如何在Powershell中查看所有子级属性

转载 作者:行者123 更新时间:2023-12-03 01:29:26 27 4
gpt4 key购买 nike

在查询Power Shell对象的属性时,我想知道列出的属性是否具有可能为我提供有用信息的子属性,但是Get-Member命令和Select-Object -ExpandProperty参数都没有为我提供一种获取方法有关所有属性的信息。

例如,如果我对X509证书对象的实例执行“Get-Member -MemberType属性”命令,则会得到18个属性的列表,包括“已存档”,“扩展名”,“FriendlyName”等。

这些属性中的大多数没有子属性,但至少有一个-“扩展名”属性-拥有子属性。

反过来,这些子属性中的一些具有自己的子属性。

我需要在一个查询中获得所有这些信息,而不是对每个查询进行实验以查看是否发现了一些有趣的东西。

有没有办法获取此信息,或者有人写了一个查询来显示顶级属性的所有子属性?

我环顾了四周,却什么也没找到。

我尝试编写查询脚本,但是到目前为止,它并没有产生很好的结果。

谢谢。

最佳答案

我通常只需转换为json即可完成您要查找的内容。

默认情况下,ConvertTo-Json的深度为4个元素。
由于只需要顶级属性及其子级,因此可以将-depth减少为2

#Selecting the first certificate just for demonstration purposes.
$YourObject = (get-childitem -Path 'Cert:\CurrentUser\CA\')[0]

# This will work with any objects.
$YourObject | ConvertTo-Json -Depth 2

以下是结果查询的部分内容:
{
"Archived": false,
"Extensions": [
{
"Critical": false,
"Oid": "System.Security.Cryptography.Oid",
"RawData": "48 33 48 31 6 8 43 6 1 5 5 7 48 1 134 19 104 116 116 112 58 47 47 115 50 46 115 121 109 99 98 46 99
111 109"
},
{
"CertificateAuthority": true,
"HasPathLengthConstraint": true,
"PathLengthConstraint": 0,
"Critical": true,
"Oid": "System.Security.Cryptography.Oid",
"RawData": "48 6 1 1 255 2 1 0"
},

(我只粘贴了一个小片段)

您可以轻松查看扩展名等属性,其子属性和关联的值。

附加说明

如果省略 -depthConvertTo-Json参数,它将递归到深度4。

深度最多可配置100个级别。
话虽如此,某些对象将具有在该对象上递归的属性,因此,除非需要,否则不要不必要地在其中放置最大值。

关于powershell - 如何在Powershell中查看所有子级属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59726502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com