我正在编写一个脚本来列出SharePoint组的属性。
这段代码工作正常但返回$site
的所有Sharepoint组,意味着数百条记录。
$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
的值之一的项目?