PowerShell - 按数组中的值过滤结果

时间:2013-06-06 13:07:58

标签: arrays sharepoint-2010 filtering powershell-v2.0

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

0 个答案:

没有答案