PowerShell - 使用 "Get PnPListItem" 和值参数
PowerShell - Use "Get PnPListItem" with a value parameter
刚开始使用 PowerShell - 我想从 SharePoint 获取一些列表项,但只有那些在字段 "hidden"
中具有值 "true" 的列表项
所以我的代码是:
Get-PnPListItem -List O365GroupConfig
所以问题是 - 我可以像 SQL 那样做一个 "where" 或类似的事情吗?
谢谢 ;)
至少有两种方法可以达到该目标:
- 查询所有项目,并将 cmdlet 的结果存储在
$var
中。之后,只需过滤您想要的值,就像这个例子:
$filtered_var= $var | where-object {$_.FieldValues.MyColumn -eq $true }
- 另一种选择是利用 -Query 标志,例如:
$var = get-pnplistitem -List O365GroupConfig -query "<View><Query><Where><Eq><FieldRef Name='MyColumn'/><Value Type='Boolean'>1</Value></Eq></Where></Query> </View>"
这样您就可以使用 CALM 在查询级别过滤结果
(Get-PnPListItem -List O365GroupConfig -Fields "HiddenFromAddressListsEnabled").FieldValues | Where-Object HiddenFromAddressListsEnabled -eq 0
成功了! :)
如果您通过 PowerShell 询问列表项的参数,则值为 "false" 而不是“0”。所以,你必须知道它 ;)
刚开始使用 PowerShell - 我想从 SharePoint 获取一些列表项,但只有那些在字段 "hidden"
中具有值 "true" 的列表项所以我的代码是:
Get-PnPListItem -List O365GroupConfig
所以问题是 - 我可以像 SQL 那样做一个 "where" 或类似的事情吗?
谢谢 ;)
至少有两种方法可以达到该目标:
- 查询所有项目,并将 cmdlet 的结果存储在
$var
中。之后,只需过滤您想要的值,就像这个例子:
$filtered_var= $var | where-object {$_.FieldValues.MyColumn -eq $true }
- 另一种选择是利用 -Query 标志,例如:
$var = get-pnplistitem -List O365GroupConfig -query "<View><Query><Where><Eq><FieldRef Name='MyColumn'/><Value Type='Boolean'>1</Value></Eq></Where></Query> </View>"
这样您就可以使用 CALM 在查询级别过滤结果
(Get-PnPListItem -List O365GroupConfig -Fields "HiddenFromAddressListsEnabled").FieldValues | Where-Object HiddenFromAddressListsEnabled -eq 0
成功了! :) 如果您通过 PowerShell 询问列表项的参数,则值为 "false" 而不是“0”。所以,你必须知道它 ;)