1

我正在编写一个脚本来列出 SharePoint 组的属性。这段代码可以正常工作,但会从 中返回所有 Sharepoint 组$site,这意味着数百条记录。

$site = Get-SPSite https://MyWeb/MySiteCollection
$groups = $site.RootWeb.sitegroups
foreach ($grp in $groups) { do something }

所以我想过滤组列表;我想出了另一段代码,它也有效。

$site = Get-SPSite https://MyWeb/MySiteCollection
$groups = $site.RootWeb.sitegroups | ? {$_.Name -like "Training*"}
foreach ($grp in $groups) { do something }

然后我想,为什么不将我感兴趣的组的名称存储在一个数组中,并$groups仅从组名与我的数组中的一个名称匹配的组中进行选择。

所以我创建了一个名为“Groups.ini”的文件并输入了我感兴趣的组的名称。我编写了这个脚本,但它不起作用

$site = Get-SPSite https://MyWeb/MySiteCollection
$mygroups = Get-Content D:\Tools\Groups.ini
$groups = $site.RootWeb.sitegroups | ? {$_.Name -like $mygroups}
foreach ($grp in $groups) { do something }

我感兴趣的行是

$groups = $site.RootWeb.sitegroups | ? {$_.Name -like $mygroups}

如何选择$groups名称是我的数组值之一的项目$mygroups

4

0 回答 0