如果成员中不存在方括号,该如何访问?

时间:2018-12-07 09:07:21

标签: powershell sharepoint

找到了一些包含变量的代码,该变量具有通过方括号$item['PageLayoutType']访问的“属性”。

我想知道为什么我在这里访问什么。它不是真正的财产,对吗?否则它应该出现在| Get-Member中对吗?

该变量是通过某些SharePoint Pnp PowerShell创建的:

$item = Get-PnPListItem -List 'SitePages' -Query "<View><Query><Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='Text'>Home1.aspx</Value></Eq></Where></Query></View>"

如何找出方括号中还有什么? Get-Member无法检索的任何内容都在其中起作用。

1 个答案:

答案 0 :(得分:2)

$object = @{
    first = "1"
    second = "2"
    third = @{
        fourth = "4"
        fifth = "5"
        sixt = @{
            seventh = "6"
        }
    }
}

像上面的例子一样,它是一个哈希表。

$object | Get-Member

将为您提供属性,而不是基础值。

您可以找到类似的值:

$object.first.fourth.seventh

或者:

$object["first"]

或者:

$object["third"]["sixt"]["seventh"]

查看和理解完整对象的一种简单方法是将其简单地转换为JSON:

$object | ConvertTo-Json

这将输出完整的对象,如果仍然无法显示所有内容,请使用-Depth参数。