我正在编写一个脚本来列出 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
?